ホームページ >データベース >mysql チュートリアル >MYSQL_ROOT_PASSWORD を設定した後でも MySQL にアクセスできないのはなぜですか?

MYSQL_ROOT_PASSWORD を設定した後でも MySQL にアクセスできないのはなぜですか?

DDD
DDDオリジナル
2024-12-01 16:00:14257ブラウズ

Why Can't I Access MySQL Even After Setting MYSQL_ROOT_PASSWORD?

MYSQL_ROOT_PASSWORD が設定されている場合に MySQL にアクセスする方法

問題:

MYSQL_ROOT_PASSWORD 環境変数を設定しているにもかかわらず、アクセスしようとしますMySQL でエラーが発生する: ユーザーのアクセスが拒否されましたroot@localhost (使用パスワード: YES)。

解決策:

この問題は、MySQL データベース ファイルシステムを含む既存のボリュームに対して MySQL コンテナを起動するときに発生します。このような場合、コンテナは初期化をスキップし、環境変数は効果がありません。

解決策:

  1. 既存のデータを削除します。ボリューム:

    docker-compose down -v
  2. コンテナーの再作成:

    docker-compose up -d

注: ボリュームを削除すると、既存のデータベース データがすべて消去されます。必要に応じてバックアップを作成します。

追加情報:

  • 公式 MySQL Docker イメージ ドキュメントには次のように記載されています。「開始した場合、以下の変数はどれも効果がありません」すでにデータベースが含まれているデータ ディレクトリを持つコンテナ。
  • 他の公式データベース Docker イメージでも同じ問題が発生する可能性があります。 (例: Postgres、MongoDB)。
  • バインド マウントに変換する場合は、その内容をすべて手動で削除して強制的に初期化する必要があります。

以上がMYSQL_ROOT_PASSWORD を設定した後でも MySQL にアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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