ホームページ >データベース >mysql チュートリアル >`MYSQL_ROOT_PASSWORD` を設定しているにもかかわらず、MySQL Docker コンテナに「アクセスが拒否されました」と表示されるのはなぜですか?

`MYSQL_ROOT_PASSWORD` を設定しているにもかかわらず、MySQL Docker コンテナに「アクセスが拒否されました」と表示されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-05 08:03:10471ブラウズ

Why Does My MySQL Docker Container Show

MYSQL_ROOT_PASSWORD は設定されていますが、Docker コンテナ内の MySQL DB にアクセスしようとすると「アクセスが拒否されました」が表示されます

問題:

MYSQL_ROOT_PASSWORD を設定しましたDocker の docker-compose.yml ファイルに記述されていますが、MySQL データベースに接続しようとすると、「ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)」というエラーが表示されます。

原因:

最も考えられる原因は、すでに含まれている既存のボリュームに対して MySQL コンテナを起動していることです。 MySQL データベース ファイル システム。この場合、MYSQL_ROOT_PASSWORD を含む環境変数はどれも効果がありません。

解決策:

最初から開始してコンテナーを初期化するには、以下を行う必要があります。既存のデータ ボリュームを削除し、新しいデータ ボリュームでコンテナを起動します。これにより、データ ボリューム内の以前のデータベースがすべて消去されるため、必要に応じてバックアップを作成してください。

手順:

  1. docker-compose down を使用します - v 既存のデータ ボリュームを削除します。
  2. docker-compose up -d を使用して、新しいデータでコンテナーを開始します。 volume.

追加情報:

この問題は、MySQL Docker イメージに限定されません。データベース用の多くの公式 Docker イメージ (PostgreSQL、MongoDB など) は同様の方法で動作します。したがって、他のデータベースでこの問題が発生した場合は、データ ボリュームを削除してコンテナを最初から開始するという回避策が適用される可能性があります。

以上が`MYSQL_ROOT_PASSWORD` を設定しているにもかかわらず、MySQL Docker コンテナに「アクセスが拒否されました」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。