Mysql会产生几种日志

错误日志(error log)

error log主要记录MySQL在启动、关闭或者运行过程中的措误信息,在MySQL的配置文件my.cnf中,可以通过log-error=/varfloR/mysqldlog执行mysqI热误日志的位置.

慢查询日志(slow query log)

MySQL的慢查淘日志是MySQL提供的一种日志记录,它用来记录在MyQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会敏记录到慢查询日志中。
long_query_time的默认值为10,意思是运行10秒以上的语句.
由他来查看密些SQL超出了我们的最大忍耐的间值,比如一条sq执行超过5秒钟,我们就算慢SQL,希望能收集超过5秒的sql,结合之前explain进行全面分析。
默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数.
当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件

在生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow。

一般查询日志(general log)

general log记录了客户端涟接信息以及执行的SQL语句信息,

通过MySQL的命令·重写日志(redo log),回滚日志(undo log),二进制日志(bin log)

bin log作用是什么?

MySQL的bin log日志是用来记录MySQL中增删改查时的记录日志。
当你的一条sq|操作对数据库中的内容进行了更新,就会增加一条bin log日志。查询操作不会记录到bin log中。bin log最大的用处就是进行主从复制,以及数据库的恢复。 

redo log作用是什么?

redo log是一种基于磁盘的数据结构,用来在MySQL宕机情况下将不完整的事务执行数据纠正,redo 日志记录事务执行后的状态.当事务开始后,redo log就开始产生,并且题着事务的执行不断写入redo log file中,redo log file中记录了xxx页做了xx修改的信息,我们都知道数据库的更新操作会在内存中先执行,最后刷入磁盘.
redo log就是为了恢复更新了内存但是由于宕机等原因没有刷入磁盘中的那部分数据.

undo log作用是什么?

undo log主要用来回滚到某一个版本,是一种逻辑日志。
undo log记录的是修改之前的数据,比如:当delete一条记录时,undolog中会记录一条对应的insert记录,从而保证能恢复到数据修改之前。在执行事务回滚的时候,就可以通过undo log中的记录内容并以此进行回滚.
undo log还可以提供多版本并发控制下的读取(mvcc) .

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值