解决方法:1、登录到mysql容器,然后进入mysql,语法为“docker exec -it mysql /bin/bash…”;2、利用“alter user 'root'@'%' identified with mysql_native_password by '…';”修改登录密码;3、利用navicat远程连接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就成功了。
推荐学习:《docker视频教程》