主从复制配置
两台机器,主库 CentOS 7,从库 Ubuntu,配 MySQL 主从复制。这篇是实际操作记录,方便下次复用。
先说背景
两台机器,主库 CentOS 7,从库 Ubuntu,配 MySQL 主从复制。这篇是实际操作记录,方便下次复用。
主库配置(CentOS)
改配置文件
在 [mysqld] 段加这些:
创建日志目录
重启主库
创建复制专用用户
主库上创建个用户给从库用:
查看主库状态
记下返回的 File 和 Position,从库配置的时候要用。
从库配置(Ubuntu)
改配置文件
创建日志目录
重启从库
配置同步
检查同步状态
重点关注两个字段:
Slave_IO_Running: YesSlave_SQL_Running: Yes
两个都是 Yes 就说明同步正常。
踩过的坑
日志位置对不上
主库换了配置或者重启过,binlog 文件和位置会变。重新跑一次 SHOW MASTER STATUS,拿到新的 File 和 Position,在从库重新 CHANGE MASTER TO。
主从数据不一致
从库如果之前写过数据,跟主库对不上会导致同步中断。先 STOP SLAVE,从库追上数据之后再 START SLAVE。
防火墙
主库 3306 端口要放行从库 IP:
总结
- 主库:开 binlog、建复制用户、记下 File 和 Position
- 从库:配 server-id、指向主库的 CHANGE MASTER TO、START SLAVE
- 验证:
SHOW SLAVE STATUS两个线程都是 Yes 就没问题