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