仮想マシンのdockerインストールmysqlリモートでは解決方法にアクセスできません

838 ワード

#dockerインストールmysql
docker pull mysql
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql

このときnavicatがmysqlにリモート接続すると、次のエラーが表示されます.
解決方法:1、仮想マシンでmysqlコンテナにログインし、mysqlに入る
docker exec -it mysql /bin/bash
mysql -uroot -p
Enter password: 
mysql> select host,user,plugin,authentication_string from mysql.user;

備考:hostが%であることip localhostを制限しないことを示す本機はplugin非mysqlを使用することを示すnative_passwordではパスワードの変更が必要です
2、パスワードの変更
mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123';
mysql> flush privileges;
mysql> select host,user,plugin,authentication_string from mysql.user;

上記の画像が表示され、再びnavicatでmysqlにリモート接続できます.
転載先:https://blog.51cto.com/autophp/2319467