主从安装好之后 如果修改my.cnf文件,先修改master 还是先修改slave
✅ 第一步:在从库(slave)上操作
# 1. 停止复制(防止在重启期间丢失事件)
sudo docker exec -it mysql-slave mysql -uroot -p'Jxxkj@1234' -e "STOP REPLICA;"
# 2. 修改 /home/mysql/slave/conf.d/my.cnf
# (例如调整 server-id、添加新参数等)
# 3. 重启从库容器
cd /home/mysql/slave
sudo docker compose down
sudo docker compose up -d
# 4. 确认从库启动成功
sudo docker logs mysql-slave | tail -20
✅ 第二步:在主库(master)上操作
# 1. 修改 /home/mysql/master/conf.d/my.cnf
# 2. 重启主库容器
cd /home/mysql/master
sudo docker compose down
sudo docker compose up -d
# 3. 确认主库启动成功
sudo docker logs mysql-master | tail -20
✅ 第三步:重新启动从库复制
# 从库自动基于 GTID 继续复制(因为用了 MASTER_AUTO_POSITION=1)
sudo docker exec -it mysql-slave mysql -uroot -p'Jsxxkj@1234' -e "START REPLICA;"
# 检查状态
sudo docker exec -it mysql-slave mysql -uroot -p'Jsxxkj@1234' -e "SHOW REPLICA STATUS\G"
✅ 使用GTID + MASTER_AUTO_POSITION=1的最大好处就是:重启后无需手动指定 binlog 文件和位置,自动同步!
总结:修改顺序口诀
“从停 → 从改 → 从启 → 主改 → 主启 → 从启复制”
