docker安装mysql(8.0.43)
·
拉取镜像
docker pull mysql:8.0.43
在所需文件(D:\soft\docker-data\mysql.8.0.43)下创建docker-compose.yml
services:
mysql:
image: mysql:8.0.43
container_name: mysql8.0.43 # 明确指定容器名称
restart: unless-stopped # 更灵活的自动重启策略
environment:
- MYSQL_ROOT_PASSWORD=Admin@123 # 实际密码需替换
- TZ=Asia/Shanghai
volumes:
- ./data:/var/lib/mysql
- ./conf:/etc/mysql/conf.d
- ./logs:/var/log/mysql
ports:
- "13308:3306"
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --lower_case_table_names=1
- --explicit_defaults_for_timestamp=1
创建data、conf、logs 三个文件夹

在conf下创建my.cnf
[mysqld]
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id=1
#服务端口号 默认3306
port=3306
#mysql数据文件所在位置
datadir=/var/lib/mysql
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server=utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server=utf8mb4_general_ci
#是否对sql语句大小写敏感,0敏感 1不敏感
lower_case_table_names=1
#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp=true
# 启用二进制日志并指定日志文件路径
# 路径:binlog文件的存储路径和前缀
# 不设置此参数则禁用binlog
log_bin = /var/log/mysql/mysql-bin.log
# 二进制日志格式(重要选择)
# 可选值:ROW, STATEMENT, MIXED
# ROW : 记录行的更改(推荐,数据安全)
# STATEMENT: 记录SQL语句(可能主从不一致)
# MIXED : 混合模式,多数使用ROW,部分使用STATEMENT
binlog_format = ROW
# binlog文件过期时间
# 单位:天
# 自动删除超过指定天数的binlog文件,防止磁盘占满
expire_logs_days = 7
# 关闭通用日志(0默认关闭,1默认开启)
general_log = 0
#数据库错误日志文件
log-error=/var/log/mysql/error_log.log
#慢查询sql日志设置(0默认关闭,1默认开启)
slow_query_log=1
#慢日志路径
slow_query_log_file=/var/log/mysql/show_query.log
[client]
default-character-set=utf8mb4
启动docker-compose
docker-compose up -d
更多推荐

所有评论(0)