news 2026/6/10 3:07:04

pt-table-checksum 使用指南:在binlog格式为ROW的从库上使用时的注意细节

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pt-table-checksum 使用指南:在binlog格式为ROW的从库上使用时的注意细节

pt-table-checksum可以在binlog格式为ROW的从库上运行,但需要正确配置。

工作原理

pt-table-checksum通过在主库上执行校验和查询,并利用MySQL复制机制将结果传播到从库:

  1. 在主库计算数据块的校验和
  2. 结果写入percona.checksums
  3. 通过复制同步到从库
  4. 在从库比较本地数据与主库传来的校验和

ROW格式下的特殊考虑

需要满足的条件:

  1. 启用binlog(无论主从)
  2. 设置binlog_format = STATEMENT用于校验和操作:
    -- 会话级设置(推荐)SETSESSIONbinlog_format='STATEMENT';-- 或者在my.cnf中为特定用户设置

正确的执行方式:

# 推荐:让工具自动处理格式转换pt-table-checksum\--replicate=percona.checksums\--no-check-binlog-format\--empty-replicate-table\--create-replicate-table\--recursion-method=hosts\h=主库IP,u=用户,p=密码# 或者显式设置pt-table-checksum\--set-vars"binlog_format=STATEMENT"\--replicate=percona.checksums\h=主库IP

常见问题和解决方案:

问题原因解决方案
复制错误ROW格式无法执行校验和语句使用--set-vars或让工具自动转换
权限不足需要SUPER权限改会话变量授予用户SUPER权限
不一致结果从库也在写入数据使用--pause-file控制节奏

推荐的最佳实践:

  1. 在主库执行(而不是直接在从库):

    pt-table-checksum\--replicate=percona.checksums\--no-check-binlog-format\--max-lag=1s\--check-interval=2\--recursion-method=dsn=D=percona,t=dsns\h=master_host
  2. 配置示例(my.cnf):

    [mysqld] # 默认可以保持ROW格式 binlog_format = ROW # pt-table-checksum所需 binlog_rows_query_log_events = ON log_slave_updates = ON
  3. 检查结果

    # 在从库上检查差异SELECT db, tbl, SUM(this_cnt)AS total_rows, COUNT(*)AS chunks FROM percona.checksums WHERE master_cnt<>this_cnt OR master_crc<>this_crc GROUP BY db, tbl;

注意事项

  • pt-table-checksum总是在主库执行计算
  • 从库只需要能够正常复制并读取校验和结果
  • ROW格式本身不阻止校验,但校验过程需要STATEMENT格式
  • ⚠️ 如果从库有写入(如双主架构),需格外小心
  • ⚠️ 大表可能产生大量binlog,建议在低峰期进行
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 23:15:57

Qwen-Image:突破文本与图像编辑的视觉生成新范式

Qwen-Image&#xff1a;重塑视觉生成的精准控制新范式 在广告设计、电商展示和出版编辑等实际场景中&#xff0c;一个长期困扰AIGC从业者的现实问题是&#xff1a;模型能“画出来”&#xff0c;但很难“按要求画对”。尤其是涉及中文文案的设计任务——“福”字少一横、“龍”字…

作者头像 李华
网站建设 2026/6/10 0:01:37

c语言实现简易计算器

计算器包含加减乘除&#xff1b;1我们要先分别写加法函数&#xff0c;减法函数&#xff0c;乘法函数&#xff0c;除法函数&#xff1b;2设计一个方式选择我们的计算函数&#xff1b;这里可以用switch函数&#xff0c;在不同的情况下调用不同的函数进行加减乘除&#xff1b;3选用…

作者头像 李华
网站建设 2026/6/9 21:54:01

ACE-Step+cpolar:低门槛AI音乐创作新体验

ACE-Step cpolar&#xff1a;构建属于你的个人AI音乐工作室 在某个深夜&#xff0c;你突然被一段旋律击中——可能是海边散步时的风声、地铁站里吉他手的即兴弹唱&#xff0c;又或者只是脑海里浮现的一句歌词。你想把它记下来&#xff0c;做成一首完整的歌&#xff0c;但作曲…

作者头像 李华
网站建设 2026/6/10 13:30:26

PySide6从0开始学习的笔记(五) 信号与槽

信号与槽是 Qt 框架的核心机制&#xff0c;用于实现对象间的通信&#xff0c;是解耦界面组件交互、异步处理事件、实现前后端分离的关键。 一、核心概念 1. 信号&#xff08;Signal&#xff09; 定义&#xff1a;对象在特定事件触发时发出的 “通知”&#xff08;比如按钮被点…

作者头像 李华
网站建设 2026/6/10 13:34:51

npm run dev启动GPT-SoVITS前端管理界面

npm run dev启动GPT-SoVITS前端管理界面 在语音合成技术正以前所未有的速度渗透进内容创作、无障碍服务和虚拟人交互的今天&#xff0c;一个令人兴奋的趋势正在浮现&#xff1a;仅用一分钟录音&#xff0c;就能克隆出高度拟真的个性化声音。这不再是科幻电影中的桥段&#xff0…

作者头像 李华
网站建设 2026/6/10 13:34:34

口碑好的污水处理厂清淤施工哪个好

口碑好的污水处理厂清淤施工&#xff1a;巴洛仕集团水下清淤机器人引领行业新高度在污水处理厂的运营中&#xff0c;清淤施工是至关重要的环节。口碑好的清淤施工不仅能确保污水处理厂的高效运行&#xff0c;还能延长其使用寿命。而巴洛仕集团水下清淤机器人&#xff0c;凭借卓…

作者头像 李华