1. docker-compose配置
docker-compose.yml
version: '3'
services:
mysql:
image: "mysql:8"
container_name: mysql8-0
restart: always
environment:
MYSQL_ROOT_PASSWORD: "123456"
TZ: "Asia/Shanghai"
volumes:
- "./data:/var/lib/mysql"
- "./conf/conf.d:/etc/mysql/conf.d"
ports:
- "13306:3306"
其中映射了两个目录:
- ./data: 指在当前目录下创建data目录, 作为mysql持久化存储目录
- ./conf/conf.d: mysql自定义配置目录(必须写入配置,否则启动报错)
2. mysql配置文件
一个简单的配置如下:
my.cnf
[mysqld]
##id, 一个集群中的server-id需唯一
server-id=1
##使用binlog日志
log-bin=mysql-bin
# 默认字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 设置加密方式
default_authentication_plugin=mysql_native_password
# sql_mode,为了兼容5.7的部分查询
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
3. 运行
在docker-compose.yml目录下执行: docker-compose up -d
使用 docker-compose logs -f 观察日志,无报错即正常运行