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.
  1. 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.

  1. Primero, cree un usuario para Directus en MySQL o MariaDB. Abra phpMyAdmin y navegue a Cuentas de usuario seguido de Agregar cuenta de usuario.

  2. 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/MariaDBCreación de usuario Directus en una base de datos MySQL/MariaDB

  3. A continuación, inicie sesión en su panel de Stackhero. Seleccione su servicio Directus y haga clic en Configurar.

  4. 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 DirectusConfiguración de MySQL/MariaDB para Directus

  1. 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....

  2. En el campo Nombre, introduzca directus.

  3. Cambie a la pestaña Definición y establezca una contraseña fuerte y segura.

  4. 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 PostgreSQLCreación de usuario Directus en una base de datos PostgreSQL

  5. Ahora cree una base de datos para Directus. Haga clic derecho en Bases de datos y elija Crear > Base de datos.

  6. Introduzca directus en el campo Base de datos, seleccione directus como propietario, y guarde sus cambios.

    Creación de base de datos Directus en PostgreSQLCreación de base de datos Directus en PostgreSQL

  7. Finalmente, navegue a su panel de Stackhero, seleccione su servicio Directus, y haga clic en Configurar.

  8. Bajo Base de datos, seleccione PostgreSQL y complete los campos adicionales como se muestra a continuación.

    Configuración de PostgreSQL para DirectusConfiguración de PostgreSQL para Directus

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.

  1. 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.

  2. Alternativamente, puede ejecutar los siguientes comandos SQL usando la CLI. Reemplace directus con su nombre de usuario y mySecretPassword con 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.