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

连接虚拟机的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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在主机上连接虚拟机Docker MySQL,可以使用以下步骤: 1. 确认虚拟机的 IP 地址 首先需要确定虚拟机的 IP 地址。可以在虚拟机使用以下命令查看 IP 地址: ``` ifconfig ``` 这个命令会列出虚拟机所有的网络接口及其 IP 地址。找到虚拟机所在的网络接口,记录下其 IP 地址。 2. 在虚拟机启动 MySQL 容器虚拟机启动 MySQL 容器,并将容器的 3306 端口映射到虚拟机的一个端口,例如 3306 端口。可以使用以下命令启动 MySQL 容器: ``` docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:latest ``` 这个命令会启动一个名为 mysql容器,并将容器的 3306 端口映射到虚拟机上的 3306 端口。其,password 是 MySQL 的 root 用户的密码。 3. 确认虚拟机的防火墙或安全组配置 如果虚拟机启用了防火墙或安全组,需要确认是否已经开放了虚拟机上的 3306 端口。在 Linux 系统,可以使用以下命令打开端口: ``` sudo ufw allow 3306/tcp ``` 在 Windows 系统,可以使用以下命令打开端口: ``` netsh advfirewall firewall add rule name="MySQL" dir=in action=allow protocol=TCP localport=3306 ``` 这个命令会打开虚拟机的 3306 端口,允许外部访问。注意,这个操作可能会导致虚拟机的安全风险增加,请谨慎操作。 4. 在主机上连接 MySQL 数据库 使用 MySQL 客户端工具连接虚拟机Docker MySQL 数据库。需要在客户端工具指定虚拟机的 IP 地址和端口号。在本例MySQL 服务器的 IP 地址为虚拟机的 IP 地址,端口号为映射到虚拟机上的 3306 端口。可以使用以下命令连接MySQL 数据库: ``` mysql -h 虚拟机的IP地址 -P 3306 -u root -p ``` 这个命令会连接虚拟机上的 3306 端口,并使用 root 用户名和密码进行身份验证。如果连接成功,就可以在命令行输入 SQL 命令来操作 MySQL 数据库了。 注意,如果 MySQL 容器的 root 用户的密码不是 password,需要将上面的命令的 -e MYSQL_ROOT_PASSWORD=password 替换为正确的密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值