美文网首页
Mysql - 日志文件

Mysql - 日志文件

作者: 万福来 | 来源:发表于2020-05-15 14:16 被阅读0次

    Mysql - 日志文件

    Mysql中一共有6种日志文件

    1. 重做日志 - redo log
    2. 回滚日志 - undo log
    3. 二进制日志 - bin log
    4. 中继日志 - relay log
    5. 错误日志 - error log
    6. 慢查询日志 - slow query log

    重做日志 - redo log

    • 用途:确保事务的持久性,防止在发生故障的时候,还有脏页未写入磁盘,在重启mysql的时候根据redolog进行重做,从而保证事务的持久性。
    • 事务开始的时候就会记录redolog,当事务对应的page写入到磁盘后,redo日志占用的空间就可以释放,被覆盖重用。
    • redolog也有日志缓冲区,默认每秒一次刷新到磁盘

    回滚日志 - undo log

    • 用途:保存事务发生之前的数据版本,主要用于事务回滚,也可以提供多版本并发控制读(MVCC)。
    • 事务开始之前,将当期版本的数据生成undo log。
    • 当事务提交后,undo log并不立即删除,而是放入待清理链表,由清理线程异步判断是否需要清理。

    二进制日志 - bin log

    • 用途:用于主从复制,从库利用主库上的binlog进行重播,实现主从同步功能,也可以实现数据基于时间点的数据还原。
    • 事务提交的时候,一次性将事务中的sql语句按照一定的格式记录到binlog中。

    中继日志 - relay log

    • 用途:用于从服务器的sql线程读取relaylog日志内容同步主库数据。
    • relaylog与binlog类似,它是从服务器IO线程将主服务器的binlog读取过来记录到从服务器的本地日志文件。

    错误日志 - error log

    • 用途:用于记录mysql服务的错误信息和服务进程的错误信息

    慢查询日志 - slow query log

    • 用途:用于记录sql语句执行时长超过配置阈值的sql语句日志

    相关文章

      网友评论

          本文标题:Mysql - 日志文件

          本文链接:https://www.haomeiwen.com/subject/guscohtx.html