【docker-compose】安装mysql
【docker-compose】安装mysql
前言
因为最近在公司,需要安装一套测试环境,便实操沉淀了此篇文章,后续会出一篇Docker的基础知识以及原理。
docker-compose安装Mysql的前提条件:
- 你本地需要有docker,以及docker-compose。
- 需要了解docker-compose是干什么的。
- 需要了解docker-compose.yml配置项。
- 需要知道docker-compose常用命令。
您如果之前不知道呢,可以点击我的专栏,Docker专栏里面有一篇文章【docker-compose】讲解与安装。
制作docker-compose.yml文件
因为我们是安装Mysql,需要明确安装的镜像名称和版本号,我采用的是5.7.35版本。那它的镜像名称和版本号就是mysql:5.7.35。
我们列一下docker-compose配置项:
- image: 镜像的名称以及版本号,我们采用的是官方的5.7.35:mysql:5.7.35
- restart: 重启docker后该容器启动时机,默认是不启动,我们配置always,重启docker后该容器也重启。
- container_name: 容器名称,我们配置为mysql
- environment: 环境变量,我们配置两个,一个是指定用户密码,一个指定时区。MYSQL_ROOT_PASSWORD: 123456 TZ: Asia/Shanghai
- ports: 本地端口号与容器内部端口号映射,我们配置为3306:3306
- volumes:指定挂载目录,因为我们需要mysql容器里面的数据,和配置。我们配置了两个/usr/etc/mysql/datadir:/var/lib/mysql /usr/etc/mysql/config/my.cnf:/etc/mysql/my.cnf
这样我们的docker-compose.yml文件就创建好了。
执行命令,此命令意思是如果当前文件下不存在此文件就创建。
vim docker-compose.yml
然后把我们的配置项填写进去。如下面的yml内容。
version: '3'
services:
mysql:
image: mysql:5.7.35 #镜像名称以及版本
restart: always #重启docker后该容器也重启
container_name: mysql #容器名称
environment:
MYSQL_ROOT_PASSWORD: 123456 #指定用户密码
TZ: Asia/Shanghai
ports:
- 3306:3306 #本地端口号与容器内部端口号
volumes: #指定挂载目录
- /usr/etc/mysql/datadir:/var/lib/mysql
- /usr/etc/mysql/config/my.cnf:/etc/mysql/my.cnf
创建挂载目录
如上面的yml配置,我们要在/usr/etc/mysql下创建两个目录。
这个简单,使用我们的命令直接创建几个挂载目录。
下面的命令解读一下:mkdir -p 批量创建文件夹。
mkdir -p /usr/etc/mysql/{datadir,conf}
创建Mysql配置文件
执行如下命令。
进入到我们映射的目录
cd /usr/etc/mysql/config
通过命令vim my.cnf创建配置文件
配置如下信息,就不一一解释, 大致的配置是配置存储引擎,字符集,最大连接数。
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
character-set-client-handshake=FALSE
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8'
max_connections=1000
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
启动容器
如上面所述,我们的相关配置和准备条件都做好了,我们开始启动我们的容器吧。
执行命令,此命令意思是 up -d 后台启动并运行容器。
docker-compose up -d mysql
如下图,执行成功。
我们来查看一下日志。执行命令。此命令的意思就是查看容器日志,守护线程查看展示1000条。
docker-compose logs -f --tail 1000 mysql
如图所示启动成功了。
远程连接Mysql
分为两种情况。
- 第一种你的服务器如果是阿里云,腾讯云,云服务商等。
需要开启安全组端口3306(因为我们映射的端口是3306)
查看服务器是否开启了防火墙。如果开启了防火墙需要放开端口,这个我下面讲解怎么放开端口。
- 第二种你的服务器是虚拟机的话
查看服务器是否开启了防火墙。如果开启了防火墙需要放开端口,这个我下面讲解怎么放开端口。
以上步骤做完后,直接使用远程客户端连接就可以了。这里就不给大家演示了。
开发端口
查看防火墙放开的端口
firewall-cmd --zone=public --list-ports
放开3306端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
刷新防火墙
firewall-cmd --reload
后记
本文主要讲解docker-compose安装Mysql。实操沉淀下来的文章。
如果你有问题或者建议欢迎大家评论区讨论。
如对您有用,希望你可以点赞,收藏,评论,您的支持是我最大动力。
我们下期再见。
更多推荐
所有评论(0)