构建 mysql 镜像
定制
- 安装 mysql 8.0
- 固定一些常用配置
- 第一次启动 mysql 时,会执行如下操作
- 初始化数据目录
- 自动创建一个只有 shutdown 权限的普通用户,该用户用于优雅停止 mysql,不要修改该用户任何信息
- 自动执行 {mysql-log}/init_sql/ 下的 xxxx.sql 文件
- 每两秒检查 {mysql-log}/extra_scripts/ 下的可执行文件,发现后立即执行
外挂目录和文件
- /etc/my.cnf: mysql 配置文件
- /var/lib/mysql: mysql 数据目录
- /var/lib/mysql-bin: mysql binlog 目录
- /var/log/mysql: mysql 日志目录
引入环境变量
- SERVER_ID: mysql server id
- GROUP_REPLICATION: 是否开启组复制
- GROUP_REPLICATION_LOCAL_ADDRESS: 指定本地地址
- GROUP_REPLICATION_GROUP_SEEDS: 指定组复制的全部节点,用逗号间隔
- EXTRA_SCRIPTS: 是否执行 {mysql-log}/extra_scripts/ 下的可执行文件,默认为空,不执行
案例
- Demo/SingleNode/: 单节点
- Demo/TwoMasterNodes/: 两节点互为主从+高可用
- Demo/MGR/: 组复制