一,配置
前提是我已经启动的mysql5.7容器
- 使用 docker ps -a 查看所有的容器
- 使用 docker exec -it c4f9 bash 进入mysql命令行,注意这个c4f9是容器唯一id,不用写全
- 连接mysql mysql -uroot -p123456,连接成功后 输入 show databases; 返回所有的数据库,说明连接成功
- 修改root用户访问权限
show databases;
use mysql;
SELECT user, host FROM user;
UPDATE user SET host = '%' WHERE user = 'root';
# 最后记得刷新一下
FLUSH PRIVILEGES;
修改完之后 docker exit 退出容器
- 连接navicate
查看服务器ip
查看docker端口映射情况
docker ps -a
posrts中意思是 主机端口:容器端口/协议
我的vm虚拟机使用的NAT模式连接
此时我们有两种方法连接mysql
注意先配置常规信息,这里填写127.0.0.1或者虚拟机ip其实都可以,原理是先进行虚拟机认证后再进行mysql的连接。
- 使用ssh直接连接
即可连接成功
- 直接连接
如果连接不成功,请检查docker宿主机的防火墙
windows上可以使用nc或者telnet 端口试试端口是否能通
此处我已经关闭了docker宿主机的防火墙
stop firewalld.service
本地vm虚拟机docker-mysql57