码迷,mamicode.com
首页 > 数据库 > 详细

Mariadb复制过滤与监控维护

时间:2016-01-07 20:25:00      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:mariadb   mysql   linux   复制过滤   集群   


 

1.复制中的过滤

 

有时候我们只需要slave仅复制有限的几个数据库或表,而非所有;

有两种实现思路:

  (1)主服务器仅向二进制日志中记录有特定数据库相关的写操作;

   问题:即时点还原将无法全面实现;

   binlog_do_db=    # 数据库白名单

   binlog_ignore_db=  # 数据库黑名单

                           

  (2)从服务器的SQL_THREAD仅在中继日志中读取特定数据相关的语句并应用在本地;

   问题:会造成网络带宽和磁盘IO的浪费;

    replicate_do_db=dbname#只复制某个库

    replicate_ignore_db=dbname#不复制某个库

    replicate_do_table=tablename#只复制某个表

    replicate_ignore_table=tablename#不复制某个表

    replicate_wild_do-table=tablename%#只复制某些表(可用匹配符)

    replicate_wild_ignore_table=tablename%#不复制某些表

   设置方法:

    setglobal replicate_do_db=testdb;

   或加到my.cnf [mysqld]

   注意:

   使用replicate_do_dbreplicate_ignore_db时有一个隐患,跨库更新时会出错。

    1

   如设置replicate_do_db=test

    usemysql;

    updatetest.table1 set ......

   第二句将不会被执行

                  

   2

    如设置replicate_ignore_db=mysql

    usemysql;

    updatetest.table1 set ......

    第二句会被忽略执行

                    

    原因是设置replicate_do_dbreplicate_ignore_db后,MySQL执行sql前检查的是

   当前默认数据库,所以跨库更新语句被忽略。

 

    可以使用replicate_wild_do_table replicate_wild_ignore_table 来解决跨库更新的问题,

   如:

    replicate_wild_do_table=test.%

   

    replicate_wild_ignore_table=mysql.%

    这样就可以避免出现上述问题了

 

2.复制的监控维护

 

  • 清理日志:PURGE

  • 复制监控
    SHOW MASTER STATUS    #查看主服务器状态信息
    SHOW SLAVE STATUS     #查看从服务器状态信息
    SHOW BINLOG EVENTS   #查看处于由mysqld维护状态中的二进制日志文件信息

   例:show binlog events in ‘mysql-bin.000001‘ from 351 limit 2;

      SHOW BINARY | MASTER LOGS  #查看所有的二进制日志文件

 

  • 如何判断slave是否落后于master     

    show slave status\G;中有一项      

    Seconds_Behind_Master: 0

  • 如何确定主从节点数据是否一致?

   创建表createtable的时候有一个选项 checksum,如果启用了就可以通过表自身的 CHECKSUM检查,show tablestatus\G查看,这个项的内容主从服务器要一致

   使用percona-toolspt-table-checksum 

  • 数据不一致的修复方法:

    重复复制;

  • 跟复制功能相关的文件:

    master.info:用于保存slave连接至master时的相关信息(只有从服务器上才有)

    relay-log.info:保存了当前slave节点上已经复制的当前二进制日志和本地relay log日志对应关系(只有从服务器上才有)


 

 


Mariadb复制过滤与监控维护

标签:mariadb   mysql   linux   复制过滤   集群   

原文地址:http://dengxi.blog.51cto.com/4804263/1732638

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!