Docker 容器下的 MySQL 主从同步

创建宿主机 Docker 容器挂载目录 mkdir -p /var/lib/mysql/master1/conf mkdir -p /var/lib/mysql/master1/data mkdir -p /var/lib/mysql/slave1/conf mkdir -p /var/lib/mysql/slave1/data 创建 MySQL 主从配置文件 创建主库配置文件(宿主机路径为 /var/lib/mysql/master1/conf/my.cnf): [mysqld] character-set-server = utf8 lower-case-table-names = 1 # 主从复制,主机配置,主服务器唯一ID server-id = 1 # 启用二进制日志 log-bin=mysql-bin # 设置logbin格式 binlog_format = STATEMENT 创建从库配置文件(宿主机路径:/var/lib/mysql/slave1/conf/my.cnf): [mysqld] character-set-server = utf8 lower-case-table-names = 1 # 主从复制,从机配置,从服务器唯一ID server-id = 2 # 启用中继日志 relay-log = mysql-relay 授权文件夹: chmod -R 777 /var/lib/mysql 需要注意的是,主从的 my.cnf 文件权限不能为 777,否则 my.cnf 文件无法在容器内生效,在登陆 Docker 容器内的 MySQL 时会提示:mysql: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored。解决办法是修改宿主机上主从的 my.cnf 权限为更低的 644: ...

December 30, 2025 · 2 min