数据库日志的总结

事务日志

保障了RDBMS事务的ACID,磁盘的随机IO转换为顺序IO,尽可能降低宕机对内存中数据造成的影响。

事务日志分为undo log和redo log
  1. undo log中记录了未正常提交的事务,因为事务未正确执行完,因此必须回滚,从而保证数据一致性
  2. redo log中记录了已正常提交但未同步到持久化存储上的情况,因此MySQL会重新执行一遍事务,然后让数据存储到磁盘上,从而保证数据一致性。

错误日志

记录MySQL守护进程启动和关闭过程中产生的错误信息,运行中产生的错误信息

二进制日志

主要用于主从复制架构,日志审计。记录了可能引起数据库内容更改的SQL语句或数据行记录,例如新增(Insert)、更新(Update)、删除(Delete)、授权信息变更(Grant Change)等,还会记录变更语句的发生时间、执行时长、操作数据等额外信息,但是它不会记录诸如Select、Show等这些不会引起数据修改的SQL语句。


涉及常用命令:                

查看二进制日志有哪些                 

show master logs                   

查看当前使用的日志文件               

show master status                

查看指定二进制日志的事件详细信息

show binlog events in 'mysql-bin.000004'      

中继日志

中继日志主要用于在主从复制架构中,在 slave节点上开启该日志类型,用于从master同步二进制日志数据;

查询日志

开启查询日志功能,会记录所有的查询操作,这在繁忙的数据库应用中会增加额外的IO开销,磁盘空间增长也会很快,不建议开启;通常用于DBA调试优化时临时开启

慢查询日志

查询日志,所有的查询都会记录;但慢查询日志会记录执行比较慢的查询语句,
究竟执行多久定义为慢,这个可以通过变量long_query_time来设定,
慢查询通常会开启,便于DBA进行分析并进行性能优化

开启慢查询
        法一:vim /usr/local/mysql/my.conf           
                   slow_query_log = 1  
                   long_query_time = 3  
        法二:mysql -uroot -pnibaba -e "set global slow_query_log on;"
查看慢查询日志
        cat /data/mysql/bogon-slow.log

参考资料:

http://www.imooc.com/article/247122?block_id=tuijian_wz

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值