1. mysql/mysql-server:latest イメージを使用して、mysql インスタンスをすばやく起動します
docker run --name ilink_user_01 -e mysql_root_password=123456 0d 0p 3307:3306 mysql/mysql-server:latest
ilink_user_01はコンテナ名です。--name コマンドを使用してデータベース ルートのパスワードとして
123456 を指定します。-e、-e を使用して環境 mysql_root_password を 123456 に指定します (環境変数を指定します)
-d -d パラメーターを使用すると、コンテナーはバックグラウンドに入ります。ユーザーはコンテナー内の情報を確認できず、操作も実行できません。
3307:3306 はポート マッピングで、コンテナのポート 3306 にマッピングされるローカル ホスト ポート 3307 を指定します
2。変更するインスタンスを入力してくださいmysql 設定情報
docker exec -it ilink_user_01 bash
exec はコンテナ内で人間のコマンドを直接実行できます
パラメーター -it を使用してコンテナーの対話型ターミナルを開くと、ユーザーはコンテナー内の他のアプリケーションの通常の動作に影響を与えることなく、コンテナーと簡単に通信できます。
3。 mysql データベース内のすべてのユーザーを表示します。
select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;
4. mysql の root ユーザーを変更して、ユーザーが任意の IP # からログインできるようにします。 ##
update mysql.user set host='%' where user='root'; flush privileges;
5. navicat を使用して接続をテストします
認証プラグイン「caching_sha2_password」が表示されますmysql イメージは caching_sha2_password を使用して暗号化されており、navicat は caching_sha2_password 暗号化方式をサポートしていないため、6. 認証プラグイン 'caching_sha2_password'
alter user 'root'@'%' identified with mysql_native_password by '123456';## を解決します。 #7. navicat を再利用して接続
以上がDocker が複数の mysql コンテナを作成して実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。