pt-table-checksum工具应用
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,1.认真看错误提示,弄不清楚状况的时候打开debugPTDEBUG=12.10.10.10.10为主,其它ip为从3.h=10.10.10.10,u=checksums,p=checksums 中间一
千家信息网最后更新 2025年11月09日pt-table-checksum工具应用
1.认真看错误提示,弄不清楚状况的时候打开debugPTDEBUG=1
2.10.10.10.10为主,其它ip为从
3.h=10.10.10.10,u=checksums,p=checksums 中间一定不能有空格,不然会报错,本人排查这个错误花了很长时间
一:sakila库的film_actor表的数据检测与同步
1,在主库和从库上面添加用户:
GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'checksums'@'10.10.10.10' IDENTIFIED BY 'checksums';
2.检测sakila库的film_actor表的数据主从是否一致
PTDEBUG=1 pt-table-checksum --no-check-binlog-format --no-check-replication-filters --recursion-method=processlist --replicate=test.checksums --databases=sakila --tables=film_actor -h 10.10.10.10 -P8888 -u checksums -p checksums
3,根据checksum的结果恢复所有从库的film_actor数据
PTDEBUG=1 pt-table-sync --replicate=test.checksums --recursion-method=processlist --database=sakila --tables=film_actor h=10.10.10.10,P=8888,u=checksums,p=checksums --print --execute
------------------------------------------------------------------------------------------------------------------------------
二:检测tmp库数据是否一致
pt-table-checksum --no-check-binlog-format --no-check-replication-filters --recursion-method=processlist --replicate=test.checksums --databases=tmp -h 10.10.10.10 -P8888 -u checksums -p checksums
1,根据checksum的结果恢复所有从库的数据
PTDEBUG=1 pt-table-sync --replicate=test.checksums --recursion-method=processlist --no-check-triggers --no-check-child-tables --no-foreign-key-checks h=10.10.10.10,P=8888,u=checksums,p=checksums --print --execute
(有外键约束要加参数 --no-check-child-tables --no-foreign-key-checks,不然可能把子表所有的数据都删除掉)
(--no-check-triggers,不检测触发器)
2,根据checksum的结果只恢复10.10.10.11的数据
pt-table-sync --print --execute --replicate=test.checksums --sync-to-master h=10.10.10.11,P=8888,u=checksums,p=checksums
3,恢复从库192.168.6.91的数据(这个从库所有的数据都和主保持一致,除了系统表和checksums表)
pt-table-sync --execute --print --sync-to-master h=192.168.6.91,P=8888,u=checksums,p=checksums
----------------------------------------------------------------------------------------------------------------------------
执行完pt-table-sync后可再执行一次pt-table-checksum检测主从数据是否一致,可以执行下面的sql语句,如果结果为空则说明主从数据一致
select * from test.checksums where master_cnt <>this_cnt OR master_crc<>this_crc OR ISNULL(master_crc)<>ISNULL(this_crc);
http://blog.itpub.net/28939273/viewspace-1993010/
1.认真看错误提示,弄不清楚状况的时候打开debugPTDEBUG=1
2.10.10.10.10为主,其它ip为从
3.h=10.10.10.10,u=checksums,p=checksums 中间一定不能有空格,不然会报错,本人排查这个错误花了很长时间
一:sakila库的film_actor表的数据检测与同步
1,在主库和从库上面添加用户:
GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'checksums'@'10.10.10.10' IDENTIFIED BY 'checksums';
2.检测sakila库的film_actor表的数据主从是否一致
PTDEBUG=1 pt-table-checksum --no-check-binlog-format --no-check-replication-filters --recursion-method=processlist --replicate=test.checksums --databases=sakila --tables=film_actor -h 10.10.10.10 -P8888 -u checksums -p checksums
3,根据checksum的结果恢复所有从库的film_actor数据
PTDEBUG=1 pt-table-sync --replicate=test.checksums --recursion-method=processlist --database=sakila --tables=film_actor h=10.10.10.10,P=8888,u=checksums,p=checksums --print --execute
------------------------------------------------------------------------------------------------------------------------------
二:检测tmp库数据是否一致
pt-table-checksum --no-check-binlog-format --no-check-replication-filters --recursion-method=processlist --replicate=test.checksums --databases=tmp -h 10.10.10.10 -P8888 -u checksums -p checksums
1,根据checksum的结果恢复所有从库的数据
PTDEBUG=1 pt-table-sync --replicate=test.checksums --recursion-method=processlist --no-check-triggers --no-check-child-tables --no-foreign-key-checks h=10.10.10.10,P=8888,u=checksums,p=checksums --print --execute
(有外键约束要加参数 --no-check-child-tables --no-foreign-key-checks,不然可能把子表所有的数据都删除掉)
(--no-check-triggers,不检测触发器)
2,根据checksum的结果只恢复10.10.10.11的数据
pt-table-sync --print --execute --replicate=test.checksums --sync-to-master h=10.10.10.11,P=8888,u=checksums,p=checksums
3,恢复从库192.168.6.91的数据(这个从库所有的数据都和主保持一致,除了系统表和checksums表)
pt-table-sync --execute --print --sync-to-master h=192.168.6.91,P=8888,u=checksums,p=checksums
----------------------------------------------------------------------------------------------------------------------------
执行完pt-table-sync后可再执行一次pt-table-checksum检测主从数据是否一致,可以执行下面的sql语句,如果结果为空则说明主从数据一致
select * from test.checksums where master_cnt <>this_cnt OR master_crc<>this_crc OR ISNULL(master_crc)<>ISNULL(this_crc);
http://blog.itpub.net/28939273/viewspace-1993010/
数据
一致
检测
结果
主从
错误
清楚
参数
把子
时候
状况
用户
系统
触发器
语句
面的
会报
长时
同步
提示
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浪潮服务器硬件监控
上海智能边缘计算服务器供应费用
数据库管理系统有几类对象作用
6.1网络安全技术
网络安全保险短剧
cfhd服务器崩了
网络安全课歌谣
校园网设计网络安全协议
网络安全的个人信息
打造网络安全人才新高地
广东助企网络技术有限公司
sql 判断数据库类型
cfhd正在连接服务器
客户机和服务器哪个是主站
为什么爬虫和数据库
路由器软件开发年薪百万
网络安全年会网站
专业报岗数据库
网络安全设备部署位置
hive默认数据库
加强认识 提高网络安全工作
火凤凰棋牌室软件开发
宝山区网络软件开发不二之选
浦东新区参考数据库服务有哪些
残梦软件开发服务
飞书服务器ip
假期网络安全资料
刘健祥网络安全
查看当前数据库连接
网络安全防范工作情况汇报