1. 使用docker运行一个基础的mysql8实例

162 阅读1分钟

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"

其中映射了两个目录:

  1. ./data: 指在当前目录下创建data目录, 作为mysql持久化存储目录
  2. ./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 观察日志,无报错即正常运行