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)
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)
相关文章推荐
- Ubuntu安装pip easy_install virtualenv mysql命令
- Mysql 压力测试工具 mysqlslap
- Mysql 全文检索Demosql
- MySql 杂记
- MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
- MySQL大表优化方案
- mysql中的四种模糊查询
- node.js学习笔记(9)--mssql模块连接mysql数据库
- yum安装mysql5.7
- mysql慢查日志
- mysql事物处理
- 票选出MySQL新版本中您最期待新功能
- mysql的搜索引擎介绍
- lnmp之mysql原码编译
- mysql 在删除索引时候 提示: check that column/key exists
- MYSQL AB复制
- MySQL数据表中的数据操作
- Mysql读写分离配置 + 代码
- MySQL的InsertOrUpdate语法
- MySQL 更新语句技巧