docker MySQL8
1、下载镜像文件
docker pull mysql:8.0
2、创建挂载目录
mkdir -p /mydata/mysql/conf
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/logs
创建my.cnf文件,放在 /data/mysql/conf 目录中,注意配置文件中的端口号
vim /data/mysql/conf/my.cnf
添加如下:
[client]
port = 3306
default-character-set = utf8mb4
[mysql]
port = 3306
default-character-set = utf8mb4
max_connections=10000
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 设置时区和字符集
# default-time-zone='+8:00'
character-set-client-handshake=FALSE
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
gtid-mode=ON
enforce-gtid-consistency = ON
3、创建实例并启动
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/my.cnf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0
参数说明:
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data/my.cnf:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
设置开机自启
docker update --restart=always mysql