Docker安装mysql 配置远程登录

来源:互联网 发布:ipv6跟ipv4无网络权限 编辑:程序博客网 时间:2024/06/05 06:54

一、前言

目前的虚拟机上已经安装过mysql服务了,最近正好在学习Docker,于是就想用docker另外整一套环境出来,先从mysql开始吧。


二、过程

1.docker search mysql,可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的。


2.docker pull mysql:5.7.19,因为虚拟机中安装的是mysql5.1.73,已经落后很多版本了,所以通过docker就安装一个教新的版本。


下载过程还是挺快的。



三、启动mysql

命令:docker run -p 53306:3306 -v $PWD/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password --name mysql5719 -d 16f9fffc75d8

-p53306:3306:将容器的3306端口映射到主机的3306端口

-v$PWD/mysql:/var/lib/mysql:将主机当前目录下的/mysql挂载到容器的/var/lib/mysql;

-e MYSQL_ROOT_PASSWORD=password:初始化root用户的密码

--name 给容器命名,mysql5719

-d 是刚才下载的mysql的imageID,也就是我们所说的镜像ID。


docker ps:


解释:端口53306指向容器的3306,容器名字:mysql5719,IMAGE:16f9fffc75d8。


四、工具连接

这时通过工具连接会出现错误提示:ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server。

这么就需要进入mysql服务中进行设置了。

docker exec -it mysql5719 bash

docker exec 进入容器

-t 让docker分配一个伪终端,并绑定到容器的标准输入上;

-i 让容器的标准输入保持打开;

mysql5719 是容器的名字。



五、局域网访问不到的情况解决方法:

mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option; 
Query OK, 0 rows affected, 1 warning (0.04 sec)


mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

执行完毕后,再通过工具去连接,就可以连上了。



有不完善,欢迎拍砖~


原创粉丝点击