mysql 二进制日志在哪_mysql二进制日志

mysql二进制日志称为binlog,记录了数据库修改数据的操作,可以用作数据恢复。

binlog有三种记录方式

1、statement

记录修改数据的原始sql,IO量较小。sql中存在使用user()等依赖运行环境的函数时,可能导致数据恢复不正确。

2、row

记录每行数据的修改动作,IO较大,准确性最高,生产环境推荐使用这种模式。

3、mixed

上述两种模式混合使用。

binlog参数设置

1、log_bin

只读参数,只能在my.ini(my.cnf)中设置,log_bin的值为二进制文件名字,存在log_bin配置则表示开启二进制文件,不存在则表示关闭。

2、sql_log_bin

会话界别变量,ON表示当前会话会记录binlog,OFF表示当前会话不记录binlog。

3、binlog_format

binlog的三种记录方式。

4、max_binlog_size

binlog日志文件大小,以字节为单位,日志超过此大小则创建新的binlog日志,文件名后缀自动加1。

5、sync_binlog

1,表示每一次事务提交之后,都会立即将内存中的二进制日志同步到磁盘中的二进制日志文件中。

0,表示由mysql自己决定什么时候写文件。

N,表示提交N次事务后,写文件。

显然,0性能最高,安全性最差;1性能最差,安全性最高。

二进制日志查询

1、查看二进制日志文件列表

show master logs;

showbinary logs;

2、查看当前正在使用的二进制日志文件

show master status;

3、查看二进制日志文件中的事件(查看binlog内容)

show binlog events

show binlog eventsin 'mybinlog.000001'show binlog eventsin 'mybinlog.000001'from 245show binlog eventsin 'mybinlog.000001'limit 3show binlog eventsin 'mybinlog.000001'limit 2,5show binlog eventsin 'mybinlog.000001'from 245 limit 10show binlog eventsin 'mybinlog.000001'from 245 limit 4,20

4、mysqlbinlog命令

(1)文件系统中使用mysqlbinlog命令查看对应的二进制日志:mysqlbinlog mybinlog.000001

(2)从指定位置开始查看二进制日志:mysqlbinlog --start-position 215 mybinlog.000001

(3)指定从哪个位置开始,到那个位置结束,查看这之间的二进制日志文件:mysqlbinlog --start-position 215 --stop-position 324 mybinlog.000001

(4)指定的时间开始查看,比如,查看2017年6月4日10点40以后的日志:mysqlbinlog --start-datetime "2017-6-4 11:40:00" mybinlog.000001;

(5)指定结束时间:mysqlbinlog --start-datetime "2017-6-4 11:40:00" --stop-datetime "2017-6-4 12:55:00" mybinlog.000001;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值