Binlog

6、BinLog

一、Statement level(基于SQL语句的复制,默认)mysql

每一条会修改数据的sql语句会记录到binlog中。sql

优势:不须要记录每一条SQL语句与每行的数据变化,这样子binlog的日志也会比较少,减小了磁盘IO,提升性能。函数

缺点:在某些状况下会致使master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)性能

二、Row level(基于行的复制)spa

不记录每一条SQL语句的上下文信息,仅需记录哪条数据被修改了,修改为了什么样子了。日志

优势:不会出现某些特定状况下的存储过程、或function、或trigger的调用和触 发没法被正确复制的问题。io

缺点:会产生大量的日志,尤为是alter table的时候会让日志暴涨。table

不管是增量备份仍是主从复制,都是须要开启mysql-binlog日志,最好跟数据目录设置到不一样的磁盘分区,能够下降io等待,提高性能;而且在磁盘故障的时候能够利用mysql-binlog恢复数据。ast

相关文章
相关标签/搜索