myqsl主从同步失败,如何快速同步?

主从同步失败,如何快速同步?

自动删除重复主键(1062),自动获取主bin文件和post号,重新连接。对于复制正常以后,我们还需要使用pt-table-checksum数据效验,以及pt-table-sync同步数据(如果数据小可以直接重做slave)。 自动跳过可允许错误。
验证库数据是否一致,不一致同步。 pt-table-checksum通过比较M/S的检验值确定数据是否一致。利用主从复制做检验,不需要在检验期间对主从数据库同时锁表,可控制校验的数据和速度,不影响到正常服务

主执行 
pt-table-checksum --nocheck-replication-filters  --no-check-binlog-format --replicate=zabbix.checksums --databases=zabbix --recursion-method=processlist  h=192.168.1.178,u=root,p=odotboss,P=3306 
pt-table-checksum --nocheck-replication-filters  --no-check-binlog-format --replicate=zabbix.checksums --databases=zabbix --recursion-method=processlist --replicate-check-only   h=192.168.1.178,u=root,p=odotboss,P=3306 

若报找不到slave,检查可能会无效。需要指定 –recursion-method=processlist
指定–no-check-binlog-format跳过binlog format的检查
–replicate= :把checksum的信息写入到指定表中,建议直接写到被检查的数据库当中。
–databases= :指定需要被检查的数据库,多个则用逗号隔开。
–tables= :指定需要被检查的表,多个用逗号隔开
–explain 只显示checksum的查询语句,但是不执行,对于理解checksum非常有用。

1、 根据测试,需要一个即能登录主库,也能登录从库的账号;
2、 只能指定一个host,必须为主库的IP;
3、 在检查时会向表加S锁;
4、 运行之前需要从库的同步IO和SQL进程是YES状态。

查询哪些表的结果是不一致的sql:

SELECT db, tbl, SUM(this_cnt) AS total_rows, COUNT(*) AS chunks FROM  checksums WHERE ( master_cnt <> this_cnt OR master_crc <> this_crc OR ISNULL(master_crc) <> ISNULL(this_crc)) GROUP BY db, tbl;

pt-table-sync 同步时会锁表

先master的ip,用户,密码,然后是slave的ip,用户,密码
–databases= : 指定执行同步的数据库,多个用逗号隔开。–tables= :指定执行同步的表,多个用逗号隔开。
注意使用该工具需要授权,一般SELECT, PROCESS, SUPER, REPLICATION SLAVE等权限就已经足够了

打印不同步的sql:

pt-table-sync --databases=zabbix --replicate=zabbix.checksums h=192.168.1.178,u=root,p=odotboss h=192.168.1.176,u=root,p=odotboss --print

直接执行:pt-table-sync --databases=zabbix --replicate=zabbix.checksums h=192.168.1.178,u=root,p=odotboss h=192.168.1.176,u=root,p=odotboss --execute
			 参数:--sync-to-master 将数据和master上保持一致 --dry-run 干跑 不实际执行。 另外注意:要是表中没有唯一索引或则主键则会报错。

#比较生成差异性语句 执行生成的语句

mysqldbcompare --server1=root:root@localhost:13001 --server2=root:root@localhost:13002   menagerie -a --difftype=SQL --show-reverse --quiet
赞(2) 打赏
特别声明:除特殊标注,本站文章均为原创,遵循CC BY-NC 3.0,转载请注明出处。三伏磨 » myqsl主从同步失败,如何快速同步?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏