一.前言
复制,在生物世界中是细胞分裂,繁衍生命的基本法则;在数字世界中,则是数据的同步,保障信息一致性和系统稳定性的关键技术。今天,我们就来揭开数据库复制的神秘面纱,看看这种信息界的"分裂"是如何实现的。
[mysqld] # 开启二进制日志 log-bin=mysql-bin # 设置服务器ID,确保主从各不相同 server-id=1「Slave配置」
[mysqld] # 设置服务器ID,确保主从各不相同 server-id=2 # 开启中继日志 relay-log= /var/lib/mysql/mysql-relay-bin.log # 指定Master信息(在MySQL客户端操作) CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replica_user', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='recorded_log_file_name', MASTER_LOG_POS=recorded_log_position;「启动Slave复制进程」
START SLAVE;执行完这些操作后,Slave将开始复制Master的数据。
4.即使在复制中断后,Slave 也可以根据GTID找到正确的复制位置
GTID复制的配置示例[mysqld] # 开启GTID模式 gtid_mode = ON enforce_gtid_consistency = ON「Slave配置」
[mysqld] # 开启GTID模式 gtid_mode = ON enforce_gtid_consistency = ON # 设置Master信息,使用GTID CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replica_user', MASTER_PASSWORD='replica_password', MASTER_AUTO_POSITION = 1;「启动GTID复制」
START SLAVE;这样配置后,复制就会按照GTID来进行,即使中断也能保持数据的一致性。
SHOW SLAVE STATUS\G2.解决网络问题
pt-table-checksum --host=master_ip --user=root --password=root_pwd使用Percona Toolkit中的pt-table-checksum可以帮助我们校验数据。图片在这堂课中,我们探索了数据库复制的魔法,从基本的主从复制到高级的GTID复制,再到复杂的故障排查,就像是在数字世界中施展了一场场复制咒语。但记住,与魔法一样,复制也是需要谨慎操作的艺术。掌握这些技能,你就能确保你的数据像生命一样得以延续和繁衍。