本机连接虚拟机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)可以看到虚拟机中的数据库和表了,说明成功
在这里插入图片描述


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