• mysql主从同步工具--pt-table-sync


    下载链接

    https://www.percona.com/downloads/percona-toolkit/LATEST/

    官方文档

    https://www.percona.com/doc/percona-toolkit/LATEST/pt-table-sync.html

    安装(以谁为参照库在那个机器进行安装,一般主库机器安装)

    包名:percona-toolkit-3.3.1-1.el7.x86_64.rpm

    安装命令:

    rpm -ivh percona-toolkit-3.3.1-1.el7.x86_64.rpm
    

    如果安装过程报以下错误则需要提前安装依赖包

    • yum install perl-DBI

    • yum install perl-DBD-MySQL

    • yum install perl-Time-HiRes

    • yum install perl-IO-Socket-SSL

    • yum install perl-Digest-MD5

    使用

    通过pt-table-checksum发现主从数据不一致的话,可以通过pt-table-sync来同步数据。

    在使用pt_table-sycn 工具时指定的mysql用户需要具有增删改查访问主从数据库等特定权限。

    参数说明

    参数 说明
    --replicate 指定通过pt-table-checksum得到的表,这2个工具差不多都会一直用。
    --databases 指定执行同步的数据库,多个用逗号隔开。
    --tables 指定执行同步的表,多个用逗号隔开。
    --sync-to-master 指定一个DSN,即从的IP,他会通过show processlist或show slave status 去自动的找主。
    h=127.0.0.1 服务器地址,命令里有2个ip,第一次出现的是M的地址,第2次是Slave的地址。
    u=root 帐号。
    p=123456 密码。
    --print 打印,但不执行命令。
    --execute 执行命令。

    master 表状态

    slave 表状态

    可以看到从库比主库多一条数据,且ID为3时对应的name不同

    检查主从数据不一致状态pt-table-checksum

    主库机器执行

    pt-table-checksum --nocheck-replication-filters --replicate=cmbh.checksums --databases=cmbh --tables=a h=***.***.***.***,u=***,p=***,P=3306 --no-check-binlog-format
    

    参数 注释
    TS 完成检查的时间。
    ERRORS 检查时候发生错误和警告的数量。
    DIFFS 0表示一致,1表示不一致。当指定--no-replicate-check时,会一直为0,当指定--replicate-check-only会显示不同的信息。
    ROWS 表的行数。
    CHUNKS 被划分到表中的块的数目。
    SKIPPED 由于错误或警告或过大,则跳过块的数目。
    TIME 执行的时间。
    TABLE 被检查的表名。

    pt-table-checksum 已经查出来了表数据不同步,接下来使用pt-table-sync进行数据同步(第一个ip为主库,第二个为ip从库)

    pt-table-sync --print --databases=cmbh --tables=name_info h=***.***.***.***,u=cmbh,p=***,P=3306 dsn=u=cmbh,p=***,h=***.***.***.***,P=3306  --no-check-slave
    

    可以看到打印出来了从库比主库多的那条数据和ID为3时对应的name不同的数据执行sql,只需要在从库执行sql即可使数据一致.

    建议还是用--print 打印出来的好,这样就可以知道那些数据有问题,可以人为的干预下。不然直接执行了,出现问题之后更不好处理。总之还是在处理之前做好数据的备份工作。

    参考资料

    https://www.cnblogs.com/gomysql/p/3662264.html

    https://www.cnblogs.com/paul8339/p/9871879.html

  • 相关阅读:
    CS229 6.4 Neurons Networks Autoencoders and Sparsity
    CS229 6.3 Neurons Networks Gradient Checking
    【Leetcode】【Easy】Min Stack
    【Leetcode】【Easy】Merge Sorted Array
    【Leetcode】【Easy】ZigZag Conversion
    【Leetcode】【Easy】Valid Palindrome
    【Leetcode】【Easy】Reverse Integer
    【Leetcode】【Easy】Palindrome Number
    【Leetcode】【Easy】Length of Last Word
    【Leetcode】【Easy】Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/whiteY/p/14950588.html
Copyright © 2020-2023  润新知