pt-table-checksum工具应用
发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,1.认真看错误提示,弄不清楚状况的时候打开debugPTDEBUG=12.10.10.10.10为主,其它ip为从3.h=10.10.10.10,u=checksums,p=checksums 中间一
千家信息网最后更新 2024年12月02日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安全错误
数据库的锁怎样保障安全
网络安全训练营73讲
汕头现代化博物馆软件开发
仙境家园服务器好玩吗
第一第一名的网络安全我要画
流放者柯南租服务器吗
中国人民银行软件开发中心咋样
网络技术带来的变化问题
腾讯软件开发中心招聘
天津服务器电源厂家哪家好
咸鱼打开商品提示服务器忙
黎明杀机下午哪个服务器
杭州鱼京互联网科技有限公司
网络安全保密问题核心
魔域 数据库open失败
数据库日志审计功能怎么打开
数据库表中有效性字段
河北乐企软件开发有限公司
蜂窝网络技术专利
医学数据库 外文
绍兴系统软件开发服务
视频直播怎么存储到数据库
网络安全的电子板报
万人在线app服务器开发
随着网络技术的发展英语作文
网络安全执法体检
会计网络安全工作简历
php 读取数据库字段值
网络技术看什么书
aveeno软件开发公司
交通银行软件开发咋样