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 producción en solo 2 minutos:
- Colecciones, elementos, usuarios, roles, peticiones API y transferencias de datos ilimitados
- Nombre de dominio personalizado con HTTPS integrado para un acceso seguro (por ejemplo, https://cms.tu-empresa.com)
- Servidor de correo dedicado para envíos ilimitados de emails transaccionales y de notificaciones
- Caché Redis integrado para un alto rendimiento
- Rendimiento constante y seguridad reforzada gracias a una infraestructura privada y dedicada
- Actualizaciones con un solo clic para mantener tu sistema siempre al día con el mínimo esfuerzo
Concéntrate en tu proyecto, no en la configuración: puedes descubrir la solución Directus cloud de Stackhero en solo 5 minutos.
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.