Directus: 外部数据库

如何将 Directus 连接到 MySQL、MariaDB 或 PostgreSQL 数据库

👋 欢迎阅读 Stackhero 文档!

Stackhero 提供 Directus 云 服务,只需 2 分钟即可投入生产使用:

  • 无限的集合、项目、用户、角色、API 请求和传输
  • 使用 HTTPS 保护的可定制域名(例如,https://cms.your-company.com
  • 包含专用且无限的电子邮件服务器
  • 包含 Redis 缓存服务器以实现高性能
  • 私有和专用 VM提供支持的最佳性能和强大安全性
  1. 一键更新,轻松维护

节省时间简化生活:只需 5 分钟即可试用 Stackhero 的 Directus 云解决方案

Stackhero 上的 Directus 实例默认配置为使用 SQLite 数据库。这使您可以快速入门,以便在几分钟内探索平台或运行测试。然而,对于生产环境,建议使用更强大的外部数据库。

  1. 首先,在 MySQL 或 MariaDB 上为 Directus 创建一个用户。打开 phpMyAdmin,导航到 用户账户,然后选择 添加用户账户

  2. 提供一个用户名(例如,directus)。点击 生成 按钮设置一个安全的密码,选择 MySQL 本地身份验证,并勾选 创建同名数据库并授予所有权限

    在 MySQL/MariaDB 数据库上创建 Directus 用户在 MySQL/MariaDB 数据库上创建 Directus 用户

  3. 接下来,登录到您的 Stackhero 仪表板。选择您的 Directus 服务并点击 配置

  4. 在配置面板的 数据库 下,选择 MySQL/MariaDB 并完成其余字段,如下图所示。

    Directus 的 MySQL/MariaDB 配置Directus 的 MySQL/MariaDB 配置

  1. 首先在 PostgreSQL 上为 Directus 创建一个用户。打开 PgAdmin,展开 服务器 > postgresql,右键点击 登录/组角色,选择 创建 > 登录/组角色...

  2. 名称 字段中输入 directus

  3. 切换到 定义 选项卡并设置一个强而安全的密码。

  4. 接下来,转到 权限 选项卡,勾选 可以登录,并保存新用户。

    在 PostgreSQL 数据库上创建 Directus 用户在 PostgreSQL 数据库上创建 Directus 用户

  5. 现在为 Directus 创建一个数据库。右键点击 数据库 并选择 创建 > 数据库

  6. 数据库 字段中输入 directus,选择 directus 作为所有者,并保存更改。

    在 PostgreSQL 上创建 Directus 数据库在 PostgreSQL 上创建 Directus 数据库

  7. 最后,导航到您的 Stackhero 仪表板,选择您的 Directus 服务,并点击 配置

  8. 数据库 下,选择 PostgreSQL 并填写如下所示的附加字段。

    Directus 的 PostgreSQL 配置Directus 的 PostgreSQL 配置

如果您在使用采用新缓存 SHA2 身份验证的 MySQL 服务器时看到错误 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client,Directus 将无法正确连接。解决方案是切换到传统的 MySQL 本地身份验证。

  1. 如果您使用 phpMyAdmin,导航到 用户账户,选择您的 Directus 用户,点击 更改密码,并输入您的密码。确保选择 MySQL 本地身份验证 作为密码哈希方法。

  2. 或者,您可以使用 CLI 运行以下 SQL 命令。将 directus 替换为您的用户名,将 mySecretPassword 替换为您选择的密码:

    ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword';
    FLUSH PRIVILEGES;
    

按照这些步骤,您将确保您的 Stackhero 上的 Directus 安装使用适合生产环境的外部数据库,从而提供更好的性能和可靠性。