docker compose一键部署主从MySQL数据库

请说下,docker compose一键部署主从MySQL数据库
最新回答
风月本无界

2025-03-27 05:30:54

本文介绍通过docker compose一键部署主从MySQL数据库的方法。

在进行操作前,请提前做好如下准备工作:

配置主库:

a. 添加主库配置文件master.cnf,配置主库server-id。

PS: 配置文件只包含用于主从同步的配置,如需更全面配置,还需添加其他相关设置。

b. 添加master.sh脚本,用于在主库创建用户。

配置从库:

a. 添加从库配置文件slave.cnf。

b. 编写slave.sh脚本,用于运行SQL将主库信息配置到从库,添加只读用户。

编写docker-compose.yaml:

在docker-compose.yaml中,配置内容包括:

1. 一个主库服务mysql-master。

2. 一个从库服务mysql-slave。

3. 创建网络shardingSphere,mysql-master和mysql-slave均在此网络内。

启动服务:

运行sudo docker compose up -d命令启动服务。

验证:

1. 在主库端创建表并添加数据。

2. 在从库端查看表及数据同步情况。

解决常见问题:

问题一:从库START REPLICA失败。

现象:启动复制命令运行失败,状态显示Slave_IO_Running和Slave_SQL_Running为No。

解决方法:在docker-compose.yaml中,对主库和从库添加环境变量指定默认数据库。

问题二:同步时从库连接不上主库。

现象:主库PORT配置错误。

解决方法:确认docker-compose.yaml中网络配置正确,主库和从库通过宿主机的端口进行通信。

问题三:数据没有同步到slave。

现象:数据同步异常。

解决方法:再次查看从库同步状态,确保状态正常。

参考资料:

官网:dev.mysql.com/doc/refman/