Directus: 外部數據庫

如何將 Directus 連接到 MySQL、MariaDB 或 PostgreSQL 數據庫

👋 歡迎來到 Stackhero 文件!

Stackhero 提供 Directus cloud 服務,只需 2 分鐘即可投入生產使用:

  • 無限的集合、項目、用戶、角色、API 請求和傳輸
  • 使用 HTTPS 保護的可自定義域名(例如,https://cms.your-company.com
  • 包含專用且無限的電子郵件伺服器
  • 包含 Redis 緩存伺服器以提供高性能
  • 專用私有 VM提供的最佳性能和強大安全性
  1. 一鍵更新,輕鬆維護

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Directus cloud solution

Stackhero 上的 Directus 實例預設配置為使用 SQLite 數據庫。這使您可以快速開始,以便在幾分鐘內探索平台或進行測試。然而,對於生產環境,建議使用更穩健的外部數據庫。

  1. 首先,為 Directus 在 MySQL 或 MariaDB 上創建一個用戶。打開 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,展開 servers > postgresql,右鍵點擊 Login/Group Roles,然後選擇 Create > Login/Group Role...

  2. Name 欄中輸入 directus

  3. 切換到 Definition 標籤並設置一個強而安全的密碼。

  4. 接下來,轉到 Privileges 標籤,勾選 Can login,並保存新用戶。

    在 PostgreSQL 數據庫上創建 Directus 用戶在 PostgreSQL 數據庫上創建 Directus 用戶

  5. 現在為 Directus 創建一個數據庫。右鍵點擊 Databases 並選擇 Create > Database

  6. Database 欄中輸入 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 安裝使用適合生產環境的外部數據庫,提供更好的性能和可靠性。