标签导航:
解决方法:1、登录到mysql容器,然后进入mysql,语法为“docker exec -it mysql /bin/bash...”;2、利用“alter user 'root'@'%' identified with mysql_native_password by '...';”修改登录密码;3、利用navicat远程连接mysql即可。

docker安装mysql远程不能访问怎么办

本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。

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 -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;

3、出现上述图片,再次用navicat远程连接mysql就成功了。