在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>