您的位置:首页 > 数据库 > MySQL

mysql binlog的三种模式

2016-08-04 09:42 253 查看
mysql的binlog有3种记录模式STATEMENT,ROW,MIXED

Statement:基于sql语句的复制

优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能

缺点:

ROW:基于行的复制

优点:所有的语句都可以复制,不记录执行的sql语句的上下文相关的信息,仅需要记录那一条记录被修改成什么了

缺点:binlog 大了很多,复杂的回滚时 binlog 中会包含大量的数据;主服务器上执行update语句时,所有发生变化的记录都会写到 binlog 中,而Statement只会写一次

MIXED:混合模式复制,

优点:结合Statement和ROW的优点,会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也就是在Statement和Row之间选择一种,推荐使用

查看当前binlog的格式

mysql> show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | MIXED |
+---------------+-------+
1 row in set (0.00 sec)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: