Directus: 外部数据库
如何将 Directus 连接到 MySQL、MariaDB 或 PostgreSQL 数据库
👋 欢迎使用 Stackhero 文档!
Stackhero 提供 Directus 云 服务,仅需 2 分钟即可投入生产使用:
- 无限的集合、项目、用户、角色、API 请求和传输
- 使用 HTTPS 保护的可定制域名(例如,https://cms.your-company.com)
- 包含专用且无限的电子邮件服务器
- 包含 Redis 缓存服务器以实现高性能
- 由私有和专用 VM提供支持的最佳性能和强大安全性。
- 一键更新,轻松维护
节省时间并简化生活:只需 5 分钟即可试用 Stackhero 的 Directus 云解决方案!
Stackhero 上的 Directus 实例默认配置为使用 SQLite 数据库。这使您可以快速入门,从而在几分钟内探索平台或运行测试。然而,对于生产环境,建议使用更强大的外部数据库。
将 Directus 连接到 MySQL 或 MariaDB 数据库
-
首先,在 MySQL 或 MariaDB 上为 Directus 创建一个用户。打开 phpMyAdmin,导航到 用户账户,然后选择 添加用户账户。
-
提供一个用户名(例如,
directus)。点击 生成 按钮设置一个安全的密码,选择 MySQL 原生认证,并勾选 创建同名数据库并授予所有权限。
在 MySQL/MariaDB 数据库上创建 Directus 用户 -
接下来,登录到您的 Stackhero 仪表板。选择您的 Directus 服务并点击 配置。
-
在配置面板的 数据库 下,选择 MySQL/MariaDB 并完成如下截图所示的剩余字段。
Directus 的 MySQL/MariaDB 配置
将 Directus 连接到 PostgreSQL 数据库
-
首先,在 PostgreSQL 上为 Directus 创建一个用户。打开 PgAdmin,展开 服务器 > postgresql,右键点击 登录/组角色,选择 创建 > 登录/组角色...。
-
在 名称 字段中输入
directus。 -
切换到 定义 选项卡并设置一个强而安全的密码。
-
接下来,转到 权限 选项卡,勾选 可以登录,并保存新用户。
在 PostgreSQL 数据库上创建 Directus 用户 -
现在为 Directus 创建一个数据库。右键点击 数据库 并选择 创建 > 数据库。
-
在 数据库 字段中输入
directus,选择directus作为所有者,并保存更改。
在 PostgreSQL 上创建 Directus 数据库 -
最后,导航到您的 Stackhero 仪表板,选择您的 Directus 服务,并点击 配置。
-
在 数据库 下,选择 PostgreSQL 并填写如下所示的附加字段。
Directus 的 PostgreSQL 配置
Directus 错误 "🚨 ER_NOT_SUPPORTED_AUTH_MODE: 客户端不支持服务器请求的认证协议"
如果您在使用采用新缓存 SHA2 认证的 MySQL 服务器时看到错误 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client,Directus 将无法正确连接。解决方案是切换到传统的 MySQL 原生认证。
-
如果您使用 phpMyAdmin,导航到 用户账户,选择您的 Directus 用户,点击 更改密码,并输入您的密码。确保选择 MySQL 原生认证 作为密码哈希方法。
-
或者,您可以使用 CLI 运行以下 SQL 命令。将
directus替换为您的用户名,将mySecretPassword替换为您选择的密码:ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword'; FLUSH PRIVILEGES;
按照这些步骤,您将确保您的 Stackhero 上的 Directus 安装使用适合生产环境的外部数据库,从而提供更好的性能和可靠性。