• MySQL 日志文件介绍


    MySQL中有以下几种日志:

    1、error log

    错误日志:主要记录 MySQL 服务器启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况等。排查问题的首选文件。

    error log记录信息

    • mysql执行过程中的错误信息
    • mysql执行过程中的警告信息
    • event scheduler运行时所产生的信息
    • mysql启动和停止过程中的输出信息,未必是错误信息
    • 主从复制结构中,从服务器IO复制线程的启动信息
    控制error log记录信息参数log_warnings
    • log_warnings的值为0,表示不记录警告信息。
    • log_warnings的值为1,表示警告信息一并记录到错误日志中。
    • log_warnings的值大于1,表示"失败的连接"的信息和创建新连接时"拒绝访问"类的错误信息也会被记录到错误日志中。

    注意:错误日志中记录的并非全是错误信息,例如 MySQL 如何启动 InnoDB 的表空间文件、如何初始化自己的存储引擎等,这些也记录在错误日志文件中。

    2、binlog

    二进制日志:binlog属于逻辑日志,记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。有Mixed、Statement、ROW 3种格式、不同格式各有优缺点,主要用于复制和数据任意时间点还原。

    Binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志。启用了binlog的前提下任何引擎都会记录binlog,可通过mysqlbinlog工具解析binlog日志。

    3、slow query log

    慢日志:记录所有执行时间超过long_query_time(单位秒)和没有使用到索引的SQL语句。通过慢查询日志,可以查找出哪些执行效率低的查询语句,以便进行优化。

    4、general log

    一般通用日志:记录所有的客户端连接信息和执行过的SQL语句,假如你不知道哪个业务是否有使用,或某个请求来自哪里,可以把general log 开起来就比较容易查询。一般临时开启此功能,因为log的量会非常庞大。

    5、relay log

    中继日志:主从同步过程中是连接master和slave的核心,从节点产生的转储日志,用于从节点应用恢复。

    6、redo log

    重做日志:InnoDB层产生的,记录物理数据页修改的信息。有效减少事务提交刷盘的频次降低IO压力。redo log 保证了数据库的crash-safe能力,因为其属于物理日志的特性,恢复速度远快于逻辑日志。同时与在线热备份息息相关。

    7、undo log

    回滚日志:记录数据发生变更前的信息,在事务的修改记录之前,会把该记录的原值(before image)先保存起来(undo log)再做修改,以便修改过程中出错能够恢复原值或者供其他的事务读取。主要用于回滚(原子性),同时提供多版本并发控制(MVCC)下的快照读功能。

  • 相关阅读:
    Web 应用的 UML 建模与 .NET 框架开发
    UML类详解
    学习Pythod 有感
    树形结构应用技巧
    面向对象的设计原则-类设计原则
    prototype 学习
    php framework kohana 学习2
    用批命令更新数据库
    HashTable
    jquery 调用wcf project
  • 原文地址:https://www.cnblogs.com/VicLiu/p/15568624.html
Copyright © 2020-2023  润新知