如何通过配置MySQL使用pt-table-checksum进行主备数据校验?
- 内容介绍
- 文章标签
- 相关推荐
本文共计924个文字,预计阅读时间需要4分钟。
连不上数据库基本是权限或网络问题,不是工具本身故障。它默认使用 root@localhost 连接,但生产环境通常禁用 root 本地登录,也很少开放远程 root 登录。
- 必须创建专用校验账号,且需
REPLICATION CLIENT、PROCESS、SELECT权限,缺一不可;SHOW DATABASES有时也要(取决于是否跨库) - 连接串里别漏
--host和--port,尤其是主库监听非 3306 端口时,不显式指定会连 localhost:3306 - 如果报
Access denied for user,先用 mysql 命令行手动试:mysql -u checksum_user -p -h 主库IP -P 3307,确认基础连通性
校验时主库 CPU 或从库延迟飙升
pt-table-checksum 默认对每张表逐块计算 CRC32,加锁读+全表扫描,对大表就是灾难。它不是“无感”工具,而是“可控干扰”工具。
本文共计924个文字,预计阅读时间需要4分钟。
连不上数据库基本是权限或网络问题,不是工具本身故障。它默认使用 root@localhost 连接,但生产环境通常禁用 root 本地登录,也很少开放远程 root 登录。
- 必须创建专用校验账号,且需
REPLICATION CLIENT、PROCESS、SELECT权限,缺一不可;SHOW DATABASES有时也要(取决于是否跨库) - 连接串里别漏
--host和--port,尤其是主库监听非 3306 端口时,不显式指定会连 localhost:3306 - 如果报
Access denied for user,先用 mysql 命令行手动试:mysql -u checksum_user -p -h 主库IP -P 3307,确认基础连通性
校验时主库 CPU 或从库延迟飙升
pt-table-checksum 默认对每张表逐块计算 CRC32,加锁读+全表扫描,对大表就是灾难。它不是“无感”工具,而是“可控干扰”工具。

