zoukankan      html  css  js  c++  java
  • pt-table-checksum和pt-heartbeat的使用

    一.pt-table-checksum

    1.主从上均新建账户
    GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'checksum'@'192.168.1.%' IDENTIFIED BY 'xxx';


    2.主上新建percona数据库

    3.对percona数据库赋予checksum账户的所有权限
    GRANT ALL PRIVILEGES ON `percona` . * TO 'checksum'@'192.168.118.126' WITH GRANT OPTION ;


    4.主上执行检查表
    pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --set-vars innodb_lock_wait_timeout=50 --replicate=percona.checksums --databases=db07 --tables=test,trade,point,play h=192.168.1.126,u=checksum,p='xxx',P=3306

    参数解释:
    --databases
    指定校验的库,多个库用逗号(,)分隔
    --tables
    指定检查的表,多个表用,隔开
    --nocheck-replication-filters
    忽略replication-do-db规则
    --replicate=test.checksums
    在test库下创建checksums表,并将数据写入
    --recursion-method=none
    指定复制检查的方式,默认情况下使用SHOW PROCESSLIST,如果非标准的3306端口,就使用SHOW SLAVE HOSTS的方式,推荐使用dsn方式,手动指定

    检查库中所有表在主从上是否同步
    pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --set-vars innodb_lock_wait_timeout=50 --replicate=percona.checksums --databases=db07 h=192.168.1.126,u=checksum,p='xxx',P=3306


    输出结果:
    TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
    12-05T19:39:40 0 0 4 1 0 0.114 db_77313.test


    DIFFS:
    0代表主从数据一致
    1代表不一致


    *如果出现错误:
    Waiting for the --replicate table to replicate to XXX的问题出在 percona.checksums 表在从库不存在,拷贝主库checksums建表sql语句,在从库对应的percona库中执行建表

    二.pt-heartbeat
    1.有时候我们需要查看从服务器落后主服务器多少,这个时候就需要pt-heartbeat

    2.使用pt-table-checksum建立的账户

    3.主上执行:
    pt-heartbeat --update -h 192.168.1.126 -u checksum -p xx --database percona --create-table


    一直在前台运行
    pt-heartbeat --update -h 192.168.1.126 -u checksum -p xx --database percona


    在后台运行
    pt-heartbeat --update -h 192.168.1.126 -u checksum -p xx --database percona --daemonize

    如果需要停止

    pt-heartbeat --stop

    再次运行,则需要删除tmp下的文件

    rm -rf /tmp/pt-heartbeat-sentinel

    4.从上执行(其中ip账户信息均为从的)

    一直监控:

    pt-heartbeat -D percona --monitor -h 192.168.1.84 --master-server-id=10 -u checksum -p xxx

    输出:
    0.00s [ 0.00s, 0.00s, 0.00s ]

    分别表示:
    实时延迟 [ 1分延迟,5分延迟,15分延迟]

    监控一次:

    pt-heartbeat -D percona --check -h 192.168.1.84 --master-server-id=10 -u checksum -p xxx


    需要注意的是,你必须确保心跳表能够被同步到从库,只有这样子,检查才会有意义.

  • 相关阅读:
    Linux指令面试题01-进程查看与终止
    微信网页授权
    腾讯视频怎么转成mp4模式 软件 工具 方法 最新【已解决】
    表操作,多对一、多对多、一对一
    初识数据库,基础sql语句
    IO多路复用
    协程:gevent
    线程:threading
    进程:multiprocessing
    利用socket与ssl模块读取网页内容
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6136163.html
Copyright © 2011-2022 走看看