连接虚拟机的docker中运行的mysql
在docker中刚创建的mysql,大多数无法进行远程连接,需要进行一些操作。
利用ifconfig获取虚拟机ip,这mysql的访问地址。
修改mysql中账号访问限制
首先通过命令查看mysql镜像的id.
docker ps
接着,进入容器内部:
docker exec -it e39a1d5c3b1f bash
然后,登录mysql,输入登录指令和密码
mysql -u root -p
最后,查看user表,并修改root用户
use mysql
select user,host from user;
可以看到root的host为localhost
执行修改语句:
update user set host = '%' where user = 'root';
如果,出现两个root用户,则需要删除一个。不然修改会失败。
然后,刷新权限
flush privileges;
就完成了mysql的用户访问限制修改。
ubuntu 防火墙
有时候,修改了用户的访问限制,依旧无法直接连接,可能是防火墙限制。
一般两种方式,(1)关掉防火墙 (2)开放mysql的映射接口
我这边是实验,就直接关掉了防火墙。
# 查看防火墙状态
sudo ufw status
# 修改为不活动
sudo ufw disable