当前位置:Gxlcms > 数据库问题 > MySQL binlog

MySQL binlog

时间:2021-07-01 10:21:17 帮助过:44人阅读

 

mysql提供了三种不同的binlog记录形式:

STATEMENT 语句模式(默认):日志中记录了所有的执行的sql语句,从库在执行的时候,重新执行相应sql即可。但是因为不记录语句执行的上下文,在从库执行某些语句(比如存储过程)的时候,有些语句不一定能成功执行导致丢失数据
ROW 行模式:日志中记录每一行每个字段的变化,能清楚记录每行数据的变化历史,主从丢失数据的情况大大降低,但是缺点是会产生大量的binlog占用存储空间
MIX 混合模式:在 Mixed 模式下,MySQL 会根据执行的每一条具体的 SQL 语句来区分对待记录的日志形式,也就是在 statement 和 row 之间选择一种。比如遇到表结构变更的时候就会以 statement 模式来记录,如果 SQL 语句确实就是 update 或者 delete 等修改数据的语句,那么还是会记录所有行的变更。目前这种模式其实就是由mysql来选择到底用哪种模式记录,可以点此了解https://dev.mysql.com/doc/refman/5.6/en/binary-log-mixed.html

如何开启binlog日志功能

 

你可以通过以下命令查看自己的mysql的binlog情况:

show variables like ‘log_bin‘  //查看自己的mysql是否打开了binlog选项
show variables like ‘binlog_format‘ //查看binlog的格式
show binary logs   //获取binlog列表
show master logs   //获取binlog列表
show master status //查看正在写入的binlog

 

如果binlog的格式是STATEMENT,show binlog event的方式是可以看到sql语句的
如果row模式的话只能通过mysqlbinlog工具进行查看,mysqlbinlog也是mysql dba常用的备份恢复数据的工具。该工具需要登录到数据库主机使用:
  mysqlbinlog [options] log_file

 


---------------------
作者:frog4
来源:CSDN
原文:https://blog.csdn.net/frog4/article/details/80280149
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 


---------------------
作者:frog4
来源:CSDN
原文:https://blog.csdn.net/frog4/article/details/80280149
版权声明:本文为博主原创文章,转载请附上博文链接!


---------------------
作者:frog4
来源:CSDN
原文:https://blog.csdn.net/frog4/article/details/80280149
版权声明:本文为博主原创文章,转载请附上博文链接!

MySQL binlog

标签:设计   mil   主从备份   上下文   文本   tps   statement   复数   upd   

人气教程排行