编写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. 在...
docker compose一键部署主从MySQL数据库
本文介绍通过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/2024-08-15