文章目录[隐藏]
今天带来的教程是在 Linux 上使用 Docker 来安装 MySQL 5.7 数据库。相比较于其他安装方式,使用 Docker 更加简单一些,也可以实现在一台机器上运行多个 MySQL。
系统环境:CentOS 7 x86_64 Minimal 1908
MySQL Docker 镜像官方文档:https://hub.docker.com/_/mysql
1.准备工作
首先是准备工作,我会把使用 Docker 运行的每一个容器都创建一个独立的目录,然后把需要挂载的目录都放到这个目录下,这样子方便管理。在本次示例中,我使用 “~/docker/mysql
” 作为 MySQL 容器的目录:
mkdir -p ~/docker/mysql
然后在该目录下再创建一个 “data
” 目录和 “conf
” 目录,前者作为数据目录,后者作为配置目录:
cd ~/docker/mysql/
mkdir data conf
这两个目录在后面运行 MySQL 的时候会作为目录映射挂载到 mysql
容器中。
2.自定义配置
如果想要自定义配置 MySQL,可以在上一步的配置目录中新建一个配置文件,例如:
vim conf/my.cnf
这里我的配置文件内容为:
[mysqld]
lower_case_table_names=1
character_set_server=utf8
max_connections=2000
根据自己的需求去配置即可。
3.运行 mysql 容器
接下来就可以使用 Docker 来运行 MySQL 了,具体的命令为:
docker run \
--name my-mysql \
-v data:/var/lib/mysql \
-v conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-p 13306:3306 \
-d \
mysql:5.7
第二行的 “name
” 参数是给这个容器制定一个名字,之后可以通过这个名字对该容器进行操作,在本例中指定的名字是 “my-mysql
“。
第三行是将本地目录下的 “data
” 目录映射挂载到容器中的 “/var/lib/mysql
” 目录,该目录是 MySQL 的数据存储目录,将该目录映射出来是为了方便之后使用同一份数据。
第四行是将本地目录下的 “conf
” 目录映射挂载到容器中的 “/etc/mysql/conf.d
” 目录,该目录是 MySQL 的配置目录,映射该目录可以将自定义的本地配置文件应用到容器中的 MySQL 中。
第五行是设置容器中的环境变量 “MYSQL_ROOT_PASSWORD
“,该环境变量是用来设置容器中 MySQL 数据库 root
用户的密码。
第六行是设置端口映射,意思是将容器中的 3306 端口映射到主机的 13306端口上,这样子访问主机的 13306 端口就是访问容器中的 3306 端口。这里主机的端口地址可以根据自己的需要去自定义,也可以设置为数据库默认的 3306 端口。之后就可以使用主机的 IP 地址加上主机的端口去访问 MySQL 数据库。需要注意的是如果在外部不能访问主机的这个端口,则可能是因为防火墙的原因,需要根据使用的 Linux 发行版对应的防火墙软件来放行这个端口。
第七行则是将该容器放置在后台运行,使得 “docker run
” 命令只输出该容器的 ID。
第八行则是指定运行哪一个镜像的哪一个标签,这里则是使用 mysql
镜像的 5.7
标签,mysql
镜像的具体标签可以去它的镜像仓库页面去查找:https://hub.docker.com/_/mysql?tab=tags
在执行了这个命令之后会输出运行的镜像的ID,我们可以根据这个ID或者容器的名字去管理这个容器。
4.管理 mysql 容器
查看运行中的容器:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0acacf549cd2 mysql:5.7 "docker-entrypoint.s…" 4 seconds ago Up 4 seconds 33060/tcp, 0.0.0.0:13306->3306/tcp my-mysql
启动指定名称的容器:
$ docker start my-mysql
停止指定名称的容器:
$ docker stop my-mysql
查看指定名称的容器的日志:
$ docker logs my-mysql
运行指定的容器中的终端:
$ docker exec -it my-mysql /bin/bash
运行指定容器中的 mysql
客户端连接容器中的数据库:
$ docker exec -it my-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"'
MySQL 镜像的官方文档地址为:https://hub.docker.com/_/mysql
5.视频教程
针对本次教程我也录制了视频教程,如有需要可以使用微信扫一扫文章下方左边的二维码或者搜索”sunriseydy”关注本站的微信公众号然后回复"docker_install_mysql"
即可获取视频观看链接。
本作品由 sunriseydy 采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
文章内容如未说明均为原创,欢迎转载,但请注明原作者(sunriseydy)和原文链接(https://blog.sunriseydy.top/technology/linux/docker_install_mysql/)
部分来自互联网的文章,如有侵权,请联系我,24小时内删除,谢谢
感谢您的支持,SunriseYDY 会继续努力的!



打开支付宝扫一扫,即可进行扫码打赏哦
日出一点一 | 在探索的路上永不止步