主从复制原理
MySQL 主从复制基于 binlog(二进制日志),主库写入数据后生成 binlog,从库拉取并回放。
搭建步骤(基于 GTID)
主库配置 /etc/my.cnf:
server-id=1
log-bin=mysql-bin
gtid-mode=ON
enforce-gtid-consistency=ON从库配置:
server-id=2
gtid-mode=ON
enforce-gtid-consistency=ON执行同步:
-- 主库创建复制用户
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
-- 从库配置主库信息
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1;
START SLAVE;
SHOW SLAVE STATUS\G -- 检查 Slave_IO_Running 和 Slave_SQL_Running 是否为 Yes故障切换(从库升主)
STOP SLAVE;
RESET MASTER;主从复制是读写分离和高可用的基础,务必定期监控延迟。
