博客
关于我
Linux MySQL日志——Error Log & Binary Log & Slow Query Log
阅读量:498 次
发布时间:2019-03-07

本文共 1538 字,大约阅读时间需要 5 分钟。

MySQL日志是数据库管理员和开发人员理解数据库运行状况、解决问题和优化性能的重要工具。通过不同类型的日志,用户可以监控数据库的各项操作,诊断异常以及发现性能瓶颈。本文将介绍MySQL常用的几种日志类型及其配置方法。

错误日志

错误日志用于记录数据库启动、停止或关闭过程中出现的错误及异常情况。错误日志是日常维护数据库的必备工具,可以帮助排查服务器启动失败、账户认证问题以及其他关键错误。

配置错误日志

  • 开启错误日志:在数据库配置文件中添加或启用错误日志功能。

    vim /etc/my.cnfset_error_log = /var/log/mysqld.log
  • 查看日志文件:默认错误日志文件位于 /var/log/mysqld.log,可以通过日志管理工具查看具体内容。

  • 通用查询日志

    通用查询日志用于记录数据库中所有执行的查询请求。通过分析这些日志,可以了解数据库的查询负载情况,发现热门数据访问模式以及优化数据库性能。

    启用查询日志

  • 修改配置文件

    vim /etc/my.cnfgeneral_log = 1
  • 重启数据库

    systemctl restart mysqld
  • 查找日志文件:默认查询日志文件位于 /var/lib/mysql/*log.*.adm,可以通过 show full processlist; 查看当前执行的查询。


  • 二进制日志

    二进制日志用于记录数据库的数据更改操作,是数据库高级备份和恢复的重要依据。通过二进制日志,可以实现全量备份、增量备份以及多主库一致性恢复。

    启用二进制日志

  • 配置二进制日志

    vim /etc/my.cnflog_bin = /var/lib/mysql/binlogserver-id = 1

    (注意:server-id 为每个数据库主机配置一个唯一编号,至多可以设置到1000。)

  • 验证二进制日志

    ls /var/lib/mysql/*bin*mysqlbinlog -v /var/lib/mysql/localhost-bin.000001

  • 中继日志

    中继日志用于在主数据库进行数据复制或一致性恢复时,向从数据库发送主库的二进制日志。中继日志可以显著提升数据同步效率。

    操作中继日志

  • 启动中继日志:确保从数据库启用中继功能。

    vim /etc/my.cnflog_slave_enabled=1
  • 查看中继日志状态:可以通过查看从数据库的日志文件或使用 SHOW SLAVE STATUS 命令来确认中继是否正常运行。


  • 慢查询日志

    慢查询日志用于记录执行时间超过设定阈值的查询请求,帮助开发人员识别性能瓶颈并优化数据库查询。

    配置慢查询日志

  • 启用慢查询日志

    vim /etc/my.cnfslow_query_log=1
  • 设置慢查询阈值

    slow_query_time=3
  • 查看慢查询日志

    默认生成日志文件位于 /var/lib/mysql/*slow.log,或查看具体文件路径 ls /var/lib/mysql/*slow*


  • 数据定义日志(DDL日志)

    DDL日志用于记录数据定义语言(DDL)操作日志,如 CREATE TABLEALTER TABLE 等操作。DDL日志可以帮助监控数据库结构的变化情况。

    查看DDL日志

  • 查询DDL操作

    使用 SQL 语句 SHOW CREATE TABLE < tablename >; 查看表的创建语句。

  • 监控DDL日志:通过查看数据库日志文件查看具体操作记录。


  • 通过合理配置和管理不同类型的MySQL日志,可以全面了解数据库运行状态、诊断问题并优化性能。从错误日志到二进制日志,从中继日志到慢查询日志,每种日志类型都有其独特的应用场景和配置方法。

    转载地址:http://quwjz.baihongyu.com/

    你可能感兴趣的文章
    RabbitMQ - 死信、TTL原理、延迟队列安装和配置
    查看>>
    PHP数据访问的多重查询(租房子查询)
    查看>>
    RabbitMQ - 如保证消息的可靠性?(消息确认、消息持久化、失败重试机制)
    查看>>
    RabbitMQ - 基于 SpringAMQP 带你实现五种消息队列模型
    查看>>
    php数组函数分析--array_column
    查看>>
    php数组去重复数据的小例子
    查看>>
    php数组实现:哈希 +双向链表
    查看>>
    PHP数组排序函数array_multisort()函数详解(二)
    查看>>
    php数组的几个函数和超全局变量
    查看>>
    PHP文件上传详解
    查看>>
    PHP文件锁
    查看>>
    php文本框输入制定文本,php – 当用户没有向文本框输入任何内容时...
    查看>>
    PHP时间戳和日期相互转换操作总结
    查看>>
    php时间戳知识点,php 时间戳函数总结与示例
    查看>>
    php更新数据库失败,php – 无法更新MySQL数据库
    查看>>
    php机器人聊天对话框,基于AIML的PHP聊天机器人
    查看>>
    PHP查找数组中最大值与最小值
    查看>>
    php查最大值,在PHP数组中查找最大值
    查看>>
    php标签筛选,关于PHP CodeIgniter框架中通过<a>标签和url做多条件分类筛选
    查看>>
    php根据年月日计算年龄
    查看>>