sql >> データベース >  >> RDS >> Mysql

MYSQL_ROOT_PASSWORDは設定されていますが、Dockerコンテナのユーザー'root' @'localhost'(パスワード:YESを使用)のアクセスが拒否されています

    当然のことながら、開始ログ全体を表示したので、既存のdb_dataに対してmysqlコンテナーを開始したようです。 ボリュームにはすでにmysqlデータベースファイルシステムが含まれています。

    この場合、コンテナの開始時に何も初期化されず、環境変数は役に立ちません。 公式の画像ドキュメント を引用する 「環境変数」セクション:

    インスタンスを初期化する場合は、最初からやり直す必要があります。あなたの場合のように名前付きボリュームを使用する場合、dockercomposeで行うのは非常に簡単です。 警告:これにより、db_dataのコンテンツが完全に削除されます ボリューム、そこにあった以前のデータベースを一掃する 。内容を保持する必要がある場合は、最初にバックアップを作成してください。

    docker-compose down -v
    docker-compose up -d
    

    バインドマウントに変換する場合は、コンテンツをすべて自分で削除する必要があります(つまり、rm -rf /path/to/bind/mount/*

    注:他の多くの公式db dockerイメージ(postgres、mongo ....)も同様に機能します。



    1. SQL ServerのTRIM、LTRIM、およびRTRIM関数

    2. パラメータの配列を受け入れるOracleでストアドプロシージャを作成する方法

    3. 大規模なレコードのbulk_createのベストプラクティス

    4. MySQLでシード値を手動で1000に設定する方法