docker部署mysql宿主机连接不上(转载)

#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 -u root -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就成功了

你可能感兴趣的:(docker部署mysql宿主机连接不上(转载))