pt-table-checksum工具应用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,1.认真看错误提示,弄不清楚状况的时候打开debugPTDEBUG=12.10.10.10.10为主,其它ip为从3.h=10.10.10.10,u=checksums,p=checksums 中间一
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
网络安全中班教案反思
软件开发费与服务费
轨道网络技术
服务网络安全解决方案
记算机网络技术专业代码
it软件开发哪个公司好
主题班会网络安全
db2数据库日志怎么清空
网络安全功能组件
河南炎辉网络技术有限公司
河源软件开发的地方
浙江企业软件开发自学步骤
软件开发专业技术能力
第三届反恐和网络安全治理论坛
网络安全500字左右作文真实
大专计算机网络技术专业就业
win 服务器搭建ss
最简单的网络安全画
32路网络视频服务器
数据库更新和插入哪个快
服务器读不出来光驱
黑龙江打印管理软件开发商
数据库的安全性在哪
网络数据库复习题
山东web前端软件开发定做
萤石云显示服务器异常是什么意思
服务器效果图
联想服务器虚拟化操作系统
两个数据库合并
db2数据库查看表属性