Directus: Bases de datos externas
Cómo conectar Directus a una base de datos MySQL, MariaDB o PostgreSQL
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece un servicio de Directus cloud, listo para usar en producción, en solo 2 minutos:
- Colecciones, elementos, usuarios, roles, solicitudes API y transferencias ilimitadas
- Nombre de dominio personalizable asegurado con HTTPS (por ejemplo, https://cms.su-empresa.com)
- Servidor de correo electrónico dedicado e ilimitado incluido
- Servidor de caché Redis incluido para alto rendimiento
- Rendimiento óptimo y seguridad robusta impulsados por una VM privada y dedicada.
- Actualizaciones con un clic para un mantenimiento sin esfuerzo
Ahorre tiempo y simplifique su vida: solo toma 5 minutos probar la solución cloud Directus de Stackhero!
Las instancias de Directus en Stackhero vienen configuradas por defecto con una base de datos SQLite. Esto facilita el inicio, permitiendo explorar la plataforma o realizar pruebas en cuestión de minutos. Sin embargo, para entornos de producción se recomienda una base de datos externa más robusta.
Conectar Directus a una base de datos MySQL o MariaDB
-
Primero, cree un usuario para Directus en MySQL o MariaDB. Abra phpMyAdmin y navegue a Cuentas de usuario seguido de Agregar cuenta de usuario.
-
Proporcione un nombre de usuario (por ejemplo,
directus). Establezca una contraseña segura haciendo clic en el botón Generar, elija Autenticación MySQL nativa, y marque Crear base de datos con el mismo nombre y otorgar todos los privilegios.
Creación de usuario Directus en una base de datos MySQL/MariaDB -
A continuación, inicie sesión en su panel de Stackhero. Seleccione su servicio Directus y haga clic en Configurar.
-
En el panel de configuración bajo Base de datos, elija MySQL/MariaDB y complete los campos restantes como se muestra en la captura de pantalla a continuación.
Configuración de MySQL/MariaDB para Directus
Conectar Directus a una base de datos PostgreSQL
-
Comience creando un usuario para Directus en PostgreSQL. Abra PgAdmin, expanda servidores > postgresql, haga clic derecho en Roles de inicio/grupo, y seleccione Crear > Rol de inicio/grupo....
-
En el campo Nombre, introduzca
directus. -
Cambie a la pestaña Definición y establezca una contraseña fuerte y segura.
-
Luego, vaya a la pestaña Privilegios, marque Puede iniciar sesión, y guarde el nuevo usuario.
Creación de usuario Directus en una base de datos PostgreSQL -
Ahora cree una base de datos para Directus. Haga clic derecho en Bases de datos y elija Crear > Base de datos.
-
Introduzca
directusen el campo Base de datos, seleccionedirectuscomo propietario, y guarde sus cambios.
Creación de base de datos Directus en PostgreSQL -
Finalmente, navegue a su panel de Stackhero, seleccione su servicio Directus, y haga clic en Configurar.
-
Bajo Base de datos, seleccione PostgreSQL y complete los campos adicionales como se muestra a continuación.
Configuración de PostgreSQL para Directus
Error de Directus "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"
Si ve el error 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client al usar un servidor MySQL que emplea la nueva autenticación SHA2 en caché, Directus no podrá conectarse correctamente. La solución es cambiar a la autenticación MySQL nativa tradicional.
-
Si está utilizando phpMyAdmin, navegue a Cuentas de usuario, seleccione su usuario Directus, haga clic en Cambiar contraseña, e introduzca su contraseña. Asegúrese de elegir Autenticación MySQL nativa como método de hash de contraseña.
-
Alternativamente, puede ejecutar los siguientes comandos SQL usando la CLI. Reemplace
directuscon su nombre de usuario ymySecretPasswordcon su contraseña elegida:ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword'; FLUSH PRIVILEGES;
Siguiendo estos pasos, garantizará que su instalación de Directus en Stackhero utilice una base de datos externa diseñada para un entorno de producción, ofreciendo un rendimiento y una fiabilidad mejorados.