zoukankan      html  css  js  c++  java
  • pt工具校验主从数据一致性之dsns方式

    mysql主从数据一致性校验,常用的方法是Percona-Toolkit的组件pt-table-checksum,这东西怎么用网上一大堆,就不啰嗦了。主要说一下通过dsns方式发现从库的一种方式。

    pt工具连接到主库后,默认是是通过show processlist,通过主从复制线程获取从库的信息,进而连接从库的。默认方式连接从库是有他的局限性的,以下场景没法使用:

    场景:

      1.非标准端口3306,或主从端口不一致;

      2.多源复制搭建的主从;

      3.阿里云、腾讯云上的主从关系,无法直接获取从库的信息;

    通过dsns方式连接从库,只需要关注两点:

      1.dsns表;

      2.recursion-method参数项;

    先说dsns表,表结构如下:

    这个表可以建在任何服务器上,只要能被访问到就行,我习惯于将这样的工具放在总控服务器上,然后通过这台服务器管理所有mysql数据库。

    create database pt;
    CREATE TABLE `pt`.`dsns` ( `id` int(11) NOT NULL AUTO_INCREMENT, `parent_id` int(11) DEFAULT NULL, `dsn` varchar(255) NOT NULL, PRIMARY KEY (`id`) );

    +----+-----------+-----------------------------------------+
    | id | parent_id | dsn |
    +----+-----------+-----------------------------------------+
    | 1 | 1 | h=192.168.11.73,u=chen,p=asd.123,P=3307 |
    +----+-----------+-----------------------------------------+

    主要是dsn这个字段:里面是从库的连接信息,如果主从的用户登录一样,只写:h=192.168.11.73,P=3307就行了。
     
    再说recursion-method参数:
    --recursion-method "dsn=D=pt,t=dsns,h=192.168.11.92,u=op_dba,p=vqR9cGbEwKNuvy4Z"
    这个参数是dsns表所在服务器的连接信息,我的顺序分别是:库、表、服务器IP、用户、密码;当然如果dsns表在主服务器上,只写dsn=D=pt,t=dsns就行了。
     
    主要是这两个需要注意的,其他的网上一大堆,可以自己找。
    最后来一个完整的命令,这个命令我常用,但没包含所有项:

    pt-table-checksum --host='192.168.11.73' --user='check' --password='asd.123' --port=3306
    --create-replicate-table --databases="jxbbs" --tables="im_group_msg"
    --no-check-binlog-format --recursion-method "dsn=D=pt,t=dsns,h=192.168.11.92,u=op_dba,p=vqR9cGbEwKNuvy4Z"
    --recurse=1 --nocheck-replication-filters --replicate-check

     
     

  • 相关阅读:
    使用mysqltools配置读写分离环境
    mysql group replication 主节点宕机恢复
    django ---- models继承
    django -- 对模式进行调式(pay with the api)
    django -- 多对多关系的实现
    django -- verbose_name的对数据库层面的影响
    django -- model中只有Field类型的数据才能成为数据库中的列
    django -- 为model 指定数据库名
    django -- 联合索引
    flask基础之jijia2模板使用基础(二)
  • 原文地址:https://www.cnblogs.com/nandi001/p/11502278.html
Copyright © 2011-2022 走看看