MySQL镜像
如果你没有安装Docker你可以参考这篇文章安装Docker
我们去Docker的镜像市场搜索MySQLhttps://registry.hub.docker.com/search?q=MySQL&type=image
搜索到的第一个mysql
点击进去,再点击Tags
我们就能看见他的版本列表了。latest
则是它最新的版本。
Docker安装MySQL
下载镜像文件
docker pull
是安装镜像命令,后面跟镜像名字比如docker pull mysql
,这里安装的mysql
会是最新的版本。如果要安装之前的版本只要在镜像名的后面加:
和版本号,就能安装指定的版本镜像了。
这里我们安装的是版本5.7的mysql。
sudo
是最高权限root
,如果你是在root
用户,命令之前可以不加sudo
1 | sudo docker pull mysql:5.7 |
安装完成后,输入命令检查是否安装成功
1 | sudo docker images |
创建实例并启动
1 | docker run -p 3306:3306 --name mysql \ |
参数说明
--name mysql
:是为当前启动的容器命名为mysql
,名字可以自己设置。-p 3306:3306
:将容器的3306端口映射到虚拟机的3306端口。-v /mydata/mysql/log:/var/log/mysql
:-v
目录挂载,将日志件夹挂载到虚拟机。-v /mydata/mysql/data:/var/lib/mysql
:将配置件夹挂载到虚拟机。-v /mydata/mysql/conf:/etc/mysql
:将配置文件夹挂载到虚拟机。-e MYSQL_ROOT_PASSWORD=root
:初始化root用户的密码为root
。-d mysql:5.7
:-d
后台模式启动镜像,这里是后台模式启动我们下载的5.7
版本的mysql
镜像。
启动成功
启动成功后会出现如图a9c338131a...
一长串的英文数字。
我们输入下面的命令检查,第一列CONTAINER ID
就是启动出现的代码、IMAGE
是启动的镜像、COMMAND
是启动命令、CREATED
是创建时间、STATUS
是运行状态、PORTS
为0.0.0.0:3306->3306/tcp, 33060/tcp
,将容器的3306端口映射到虚拟机的3306端口、最后的NAMES
就是我们之前启动容器的命名mysql
。
1 | sudo docker ps |
测试连接
在主机测试连接,我们这里就用命令行测试,也可以用其他数据库软件。如下图连接成功!
192.168.2.102
为虚拟机的IP地址
1 | mysql -u root -h 192.168.2.102 -proot |
MySQL容器
进入mysql容器
1 | sudo docker exec -it mysql bash |
出现root@a9c338131af6:/#
,就是相当于我们以root用户访问进入了mysql容器。
输入下面命令查看mysql容器安装在哪里。
1 | whereis mysql |
查看mysql容器内的日志
1 | cd /var/log/mysql/ |
在容器外查看挂载文件夹
因为我们在前面挂载了容器内部的配置在虚拟机内。那么我们其实可以直接在虚拟机内,对挂载部分进行修改配置了。我们先退出容器输入exit
。我们再输入下面的命令就能看到在虚拟机内挂载的文件了。
1 | cd /mydata/mysql/ |
这样我们就能很方便的在外部虚拟机观察日志和修改配置文件等其他操作。
配置conf文件
我们直接创建并配置conf文件
1 | vi /mydata/mysql/conf/my.conf |
然后键盘按下insert
键插入下面的内容。
1 | [client] |
最后我们重启mysql
容器。稍等会容器就重启成功了,配置也会映射到容器内部。也可以进入容器内部检查下。
1 | sudo docker rstart mysql |