mysql Binlog

170 阅读1分钟

binlog:

二进制格式的文件,
binlog是 记录数据库增删改,不记录查询的二进制日志.
用于数据恢复,主从复制及数据的增量恢复

binlog的配置

server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
binlog_format           = "MIXED"
max_binlog_size         = 100M
binlog_do_db            = include_database_name
binlog_ignore_db        = include_database_name

binlog格式

STATEMENT

只记录数据更新语句,日志量较少,所以性能OK,不过在某些情况下会导致主从服务器数据不一致

ROW

只记录修改的是哪条记录,以及修改后的数据,日志数据量较多

MIXED

以上两种模式结合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。