本机连接虚拟机docker容器中的mysql数据库

目的:希望在本机中能用到虚拟机中的mysql数据库。

docker安装mysql

设置mysql的远程登录

建立连接

docker安装mysql

docker十分方便,只要一句命令即可下载,不用繁琐的配置

(1)安装数据库:

sudo docker pull mysql:5.7

(2)创建实例并启动

sudo docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
  • run就是启动

  • -p是端口的映射

  • -v就是挂载,前面的是主机的目录,后面的是容器的目录

  • password是root,可自行设置

(3)查看是否安装成功

docker images

(4)重启mysql:sudo docker restart mysql

(5)设置自动启动

sudo docker update mysql --restart=always

这样就不用每次都运行一遍run命令了

设置mysql的远程登录

(1)启动mysql容器,并登录

docker exec -it mysql bash
mysql -uroot -p

输入你的密码,即可登录成功。

(2)在mysql命令行中授权

GRANT ALL ON *.* TO 'root'@'%';

(3)刷新权限

flush privileges;

(4)此时,还需要更改mysql的加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

6)更新root用户密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 

7)刷新权限并退出

flush privileges;
exit;

红色窗口为示例:

建立连接

(1)查找虚拟机的ip地址

地址是3中的192.168.56.10

(2)在主机中连接

利用ip地址连接数据库

(3)可以看到虚拟机中的数据库和表了,说明成功

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_43049705/article/details/119843679

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值