连接虚拟机的docker中运行的mysql

91 阅读1分钟

连接虚拟机的docker中运行的mysql

在docker中刚创建的mysql,大多数无法进行远程连接,需要进行一些操作。

利用ifconfig获取虚拟机ip,这mysql的访问地址。

修改mysql中账号访问限制

首先通过命令查看mysql镜像的id.

docker ps

1671000048743.png

接着,进入容器内部:

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';

1671001393710.png

如果,出现两个root用户,则需要删除一个。不然修改会失败。

然后,刷新权限

 flush privileges;

就完成了mysql的用户访问限制修改。

ubuntu 防火墙

有时候,修改了用户的访问限制,依旧无法直接连接,可能是防火墙限制。

一般两种方式,(1)关掉防火墙 (2)开放mysql的映射接口

我这边是实验,就直接关掉了防火墙。

# 查看防火墙状态
sudo ufw status
# 修改为不活动
sudo ufw disable