zoukankan      html  css  js  c++  java
  • MySQL日志详解

    参考资料:https://dev.mysql.com/doc/refman/5.7/en/server-logs.html

    分类

    mysql 常见日志分为以下几种:

    日志类型 日志内容
    错误日志 mysql 启动、停止和运行过程中出现的异常
    常规操作日志 已创建客户端连接和客户端处理记录
    二进制日志 数据变更日志(可用于同步)
    转存日志 从主服务器同步的数据记录
    慢查询日志 耗时超过 long_query_time 所设置时间的查询
    DDL日志(元日志) ddl 语句执行的元数据操作

    分类简介

    此部分介绍常用的日志配置项,所有配置项请参考:https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#option_mysqld_relay-log

    Error Log(错误日志)

    主要记录 mysql 启动、停止和运行过程中出现的异常,与其关联的配置项包括:

    • log_error:设置日志文件的位置,设置此参数同时开启日志记录,默认放在 mysql data目录下
    • log_error_verbosity:日志级别,默认值为3,1代表只记录Error,2代表Error和Waring,3代表Error、Warning和Note

    General Query Log(常规操作日志)

    常规操作日志可以说是内容最全的日志,包括所有 mysql 所作的操作和连接情况。由于此类日志记录内容较多,所以对数据库性能会有一定的影响,所以在生产环境中不建议开启,与其相关的配置项如下:

    • general_log:开关日志,0/OFF代表关,1/ON代表开
    • general_log_file:日志文件位置

    即使mysql运行过程中也可以通过命令行设置以上两个参数修改日志。

    SET GLOBAL general_log = 'ON';
    

    Binary Log(二进制日志)

    二进制日志可以说是使用率最高的日志了,因为可以通过它对数据库进行回复,所以建议在生产环境上启用。二进制日志无法直接打开,不过 mysql 本身提供了 mydqlbinlog 程序用于查看(具体查看方法参考https://www.jianshu.com/p/b30264768d04)。与其相关的参数如下:

    • log-bin:设置日志文件的位置,设置此参数同时开启日志记录,默认放在 mysql data目录下
    • max_binlog_size:日志文件大小上限,二进制日志文件后缀名会由 mysql 自动拼接数字,达到此参数设置大小则写入另一个文件,同时后缀 + 1,所以在设置 log-bin 参数时仅填写路径和文件名即可,后缀名省略

    Slave Relay Log(转存日志)

    转存日志可以理解为一种特殊的二进制日志,其特殊在此日志中记录的是主从关系中,从数据库从主数据库同步过来的数据。作为一种二进制日志,同样可以使用 mysqlbinlog 程序进行查看,与其相关的配置参数包括:

    • relay-log:转存日志文件名
    • relay-log-index:转存日志索引文件名
    • max_relay_log_size:转存文件大小限制,如果不设置则使用 max_binglog_size 的设置。

    Slow Query Log(慢查询日志)

    慢查询日志在调优过程中使用的比较多,其中主要记录的是执行较慢的操作,具体时间可通过参数进行设置。与其相关的配置项如下:

    • slow_query_log:是否开启慢查询日志,可选值为0和1,默认为0。
    • slow_query_log_file:慢查询日志文件名。
    • long_query_time:时间长度,单位毫秒,超过此时间的操作将会被记录至日志。
    • log_slow_admin_statements:是否记录管理员维护操作,可选值为ON/OFF,默认为OFF。
    • log_queries_not_using_indexes:是否记录未使用索引的查询可选值为ON/OFF,默认为OFF。

    慢查询日志不一定非要看日志文件,通过 mysqldumpslow 命令可在控制台直接查看。

  • 相关阅读:
    Instagram/IGListKit 实践谈(UICollectionView框架)
    谈UIView Animation编程艺术
    Swift Protobuf 初探 —— 继 XML 后,JSON 也要被淘汰了吗
    APP缓存数据线程安全问题
    玩转UICollectionViewLayout
    iOS常用宏 定义
    性能优化之NSDateFormatter
    iOS 用自签名证书实现 HTTPS 请求的原理
    iOS开发调试Reveal使用
    iOS配置SSO授权
  • 原文地址:https://www.cnblogs.com/aotian/p/10244708.html
Copyright © 2011-2022 走看看