代码改变世界

MySQL数据复制的校验

2016-07-21 14:59  abce  阅读(1291)  评论(0编辑  收藏  举报

在5.6之前,管理员只能通过ssl实现检校验
5.6中,可以使用CRC32检查和来保证master和slave的数据的完整性。校验信息记录在master的二进制日志中和slave的relay日志中。

mysql> show variables like 'binlog_checksum';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| binlog_checksum | CRC32 |
+-----------------+-------+

 

开启master/slave数据校验
1.master端
默认是关闭的。开启的话需要设置参数master_verify_checksum=on。开启后,master从binary log读取信息的时候会执行校验

>show variables like 'master_verify_checksum';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| master_verify_checksum | OFF   |
+------------------------+-------+

2.slave端
开启的话需要设置参数slave_sql_verify_checksum=on。开启后,slave从relay log读取信息的时候会执行校验

mysql> show variables like 'slave_sql_verify_checksum';
+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| slave_sql_verify_checksum | ON    |
+---------------------------+-------+
1 row in set (0.00 sec)

mysql>