主机Navicat连接Ubuntu下Docker启动的MySQL详细教程并解决遇到的错误

一、docker下载并运行mysql镜像

下载:

docker pull mysql:5.7

运行镜像:

docker run -it --rm --name mysql -e MYSQL_ROOT_PASSWORD=hanxue -p 3306:3306 -d mysql  

进入容器中的mysql的shell命令:

docker exec -it mysql bash

登录mysql账号:

mysql -uroot -phanxue

查看host和user:

确保root的host为‘%’即代表可以远程连接。

给root远程登录权限:

ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'hanxue'; 

刷新:

FLUSH PRIVILEGES;

此时mysql设置完毕。

二、主机Navicat连接Ubuntu中docker运行的mysql镜像

查看Ubuntu当前ip:

发现docker竟然自己分配了个ip,想想美滋滋,于是在主机试试ping一下:

真的能ping通,于是直接在主机打开navicat,输入信息并连接:

这是咋回事?怎么会报2003 - Can't connect to MySQL server on 'x.x.x.x' (10038)错误呢?明明能ping通的啊,怎么连接不上,想想觉得很傻,这个ip是docker分配的ip啊,又不是Ubuntu的主机IP,于是ping一下10.0.2.15:

??????????????????

原来VirtualBox默认用的是NAT网络转换

,这个10.0.2.15和我主机的ip根本不在一个局域网中,自然ping不通。于是把连接方式改成桥接网卡:

查看ip:

主机ip:

看网段就知道了还ping啥呢,于是改掉mysql主机ip为222.24.32.231:

ok,问题解决~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值