Directus: Directusエラー "🚨 ER_NOT_SUPPORTED_AUTH_MODE: クライアントがサーバーによって要求された認証プロトコルをサポートしていません"

このドキュメントは外部データベースガイドの一部です。完全なガイドはこちらからご覧いただけます:DirectusをMySQL、MariaDB、またはPostgreSQLデータベースに接続する方法

👋 Stackheroのドキュメントへようこそ!

Stackheroは、Directusクラウドサービスを提供しており、わずか2分で本番環境で使用可能です:

  • 無制限のコレクション、アイテム、ユーザー、ロール、APIリクエスト、転送
  • HTTPSで保護されたカスタマイズ可能なドメイン名(例:https://cms.your-company.com
  • 専用の無制限のメールサーバーが含まれています
  • 高性能のためのRedisキャッシュサーバーが含まれています
  • プライベートで専用のVMによる最適なパフォーマンスと堅牢なセキュリティ
  1. 簡単なメンテナンスのためのワンクリック更新

時間を節約し、生活を簡素化:StackheroのDirectusクラウドソリューションを試すのに5分しかかかりません!

MySQLサーバーで新しいキャッシングSHA2認証を使用している場合に🚨 ER_NOT_SUPPORTED_AUTH_MODE: クライアントがサーバーによって要求された認証プロトコルをサポートしていません; MySQLクライアントのアップグレードを検討してくださいというエラーが表示された場合、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インストールが本番環境に適した外部データベースを使用し、パフォーマンスと信頼性を向上させることができます。