【问题解决】docker部署的mysql数据库,宿主机无法访问
遇到的问题
在虚拟机上用docker部署了一个mysql数据库,用navicat进行连接提示无法连接,此时主机与虚拟机的防火墙都已关闭,并且在虚拟机上用docker部署了一个mysql数据库,用navicat进行连接提示无法连接,此时主机与虚拟机的防火墙都已关闭,并且主机与虚拟机都可以ping成功。
经过查阅资料知道,因为mysql数据库支持本地访问,远程访问需要开启。
解决步骤
使用shell工具连接上虚拟机,使用以下命令查看当前docker镜像列表
docker ps
然后进入mysql镜像(数字为第一列的镜像id)
docker exec -it b0fb0868eb62 /bin/bash
然后进入mysql用如下命令
mysql -uroot -p
//填写密码
输入更新密码语句
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
效果如下:
然后exit退出mysql,然后用restart命令重启mysql,再使用navicat尝试连接,成功。