实际上我们之前说的redolog,他是一种偏向物理性质的重做
日志,因为他里面记录
的是类似这样的东西,“对哪个数据页中的什么记录,做了个什么修改”。而且redolog本身是属于InnoDB存储引擎特有的一个东西。原禁而binlog叫做归档日志,他里面记录的是偏向于逻辑性的日志,类似于“对users表中的id=10的一行数据做了更新 *** 作,更新以后的值是什么"binlog不是InnoDB存储引擎特有的日志
文件,是属于mysql server自己的日志文件。实际上我们之前说的redolog,他是一种偏向物理性质的重做日志,因为他里面记录的是类似这样的东西,“对哪个数据页中的什么记录,做了个什么修改”。而且redolog本身是属于InnoDB存储引擎特有的一个东西。原禁而binlog叫做归档日志,他里面记录的是偏向于逻辑性的日志,类似于“对users表中的id=10的一行数据做了更新 *** 作,更新以后的值是什么"binlog不是InnoDB存储引擎特有的日志文件,是属于mysql server自己的日志文件。实际上我们之前说的redolog,他是一种偏向物理性质的重做日志,因为他里面记录的是类似这样的东西,“对哪个数据页中的什么记录,做了个什么修改”。而且redolog本身是属于InnoDB存储引擎特有的一个东西。原禁而binlog叫做归档日志,他里面记录的是偏向于逻辑性的日志,类似于“对users表中的id=10的一行数据做了更新 *** 作,更新以后的值是什么"binlog不是InnoDB存储引擎特有的日志文件,是属于mysql server自己的日志文件。MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。
binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,并以"事务"的形式保存在磁盘中;
Mysql binlog日志有ROW,Statement,MiXED三种格式:
有 statement,row, mixed3种,其中mixed是指前2种的混合.
以insert into xxtable values (x,y,z)为例,
影响: 1行,且为新增1行, 对于其他行没有影响.
这个情况,用row格式,直接复制磁盘上1行的新增变化.
这个情况,一般也只是影响1行. 用row也比较合适.
以过年发红包,全公司的人,都涨薪100元.
这个语句带来的影响,是针对每一行的, 因此磁盘上很多row都发生了变化.
此处,适合就statment格式的日志.
2种日志,各有各的高效的地方,mysql提供了mixed类型.
可以根据语句的不同,而自动选择适合的日志格式.
1、MySQL服务器可能遭受到破坏,或者存在某些故障,导致MySQL服务器的binlog文件不再有效,需要重新启动MySQL服务器以便维护binlog文件的完整性。
2、MySQL服务器如果要重新安装或升级,也会导致binlog文件重新计数。
3、MySQL服务器中binlog文件出现问题,无法正常记录用户 *** 作,也可能引发binlog文件重新计数的问题。
评论列表(0条)