# 构建 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/SingleNode/): 单节点 - [Demo/TwoMasterNodes/](Demo/TwoMasterNodes/): 两节点互为主从+高可用 - [Demo/MGR/](Demo/MGR/): 组复制