問題:
MYSQL_ROOT_PASSWORD を設定しましたDocker の docker-compose.yml ファイルに記述されていますが、MySQL データベースに接続しようとすると、「ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)」というエラーが表示されます。
原因:
最も考えられる原因は、すでに含まれている既存のボリュームに対して MySQL コンテナを起動していることです。 MySQL データベース ファイル システム。この場合、MYSQL_ROOT_PASSWORD を含む環境変数はどれも効果がありません。
解決策:
最初から開始してコンテナーを初期化するには、以下を行う必要があります。既存のデータ ボリュームを削除し、新しいデータ ボリュームでコンテナを起動します。これにより、データ ボリューム内の以前のデータベースがすべて消去されるため、必要に応じてバックアップを作成してください。
手順:
追加情報:
この問題は、MySQL Docker イメージに限定されません。データベース用の多くの公式 Docker イメージ (PostgreSQL、MongoDB など) は同様の方法で動作します。したがって、他のデータベースでこの問題が発生した場合は、データ ボリュームを削除してコンテナを最初から開始するという回避策が適用される可能性があります。
以上が`MYSQL_ROOT_PASSWORD` を設定しているにもかかわらず、MySQL Docker コンテナに「アクセスが拒否されました」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。