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

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

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

Stackheroは、わずか2分で本番環境に対応したDirectusクラウドサービスを提供しています:

  • コレクション、アイテム、ユーザー、ロール、APIリクエスト、データ転送が無制限
  • カスタムドメイン名と組み込みのHTTPSによる安全なアクセス(例:https://cms.your-company.com
  • 無制限のトランザクションメールや通知メール送信が可能な専用メールサーバー
  • 高パフォーマンスを実現する統合型Redisキャッシュ
  • プライベートかつ専用インフラによる安定したパフォーマンスと強固なセキュリティ
  • ワンクリックアップデートで、システムを簡単に最新状態に保てます

セットアップではなくプロジェクトに集中: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インストールが本番環境に適した外部データベースを使用し、パフォーマンスと信頼性を向上させることができます。