Mysql 二进制日志
Mysql 服务层日志
mysql 二进制日志 慢查日志 通用日志
二进制日志:记录了所有对Mysql数据库的修改事件,包括增删改查事件和对表结构的事件
二进制日志的格式:
show : show VARIABLES like 'binlog_format';(查看二进制日志格式)
set : set SESSION binlog_format=statement;(设置位段的 5.7为row)
基于段的格式 binlog_format=STATEMENT (5.7之前默认使用的格式)
优点:
日志记录量相对较小,节省磁盘及网络I/O
缺点;
必须要记录上下文的信息 保证语句在从服务器上执行的结果在主服务器上相同
特定函数如 UUID(),user()
这样非确定性函数还是无法复制
可能造成MySQL复制的主备服务器数据不一致
基于行的格式 binlog_format=ROW
show : show VARIABLES like 'binlog_format';
set : set session binlog_format=row;
Row格式可以避免MySQL复制中出现得主从不一致问题
同一SQL语句修改了10000条数据的情况下,基于段的日志格式只会记录这个sql语句,而基于行的日志会有10000条记录分别记录每一行
的数据修改
*优点:
1.使mysql主从复制更加安全
2.对每一行数据对修改比基于段对复制高效,降低主从复制的时间
3.误操作而修改了数据库中的数据,同时有没有备份可以恢复时,我们可以通过分析二进制日志,对日志中记录的数据修改操作
做反向的处理方式来达到恢复数据的目的
*缺点:
1.记录日志量大。
show: show variables like 'binlog_row_image'
binlog_row_image = [FULL|MINIMAL|NOBLOB](提供了三种日志方式)
混合日志格式
binlog_format=NIXED
特点
1.根据SQL语句由系统决定在基于段和基于行段日志格式中进行选择
2.数据量大小由所执行段sql语句决定
Mysql 存储引擎层日志
innodb重做日志,回滚日志等
MYSQL 二进制日志
最新推荐文章于 2024-11-11 09:34:14 发布