博客
关于我
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/

    你可能感兴趣的文章
    PHP5.4 pfsocketopen函数判断sock是否存活的bug(由memcached引起)
    查看>>
    Redis从入门到精通
    查看>>
    PHP5.6.x编译报错:Don't know how to define struct flock on this system, set --enable-opcache=no
    查看>>
    php5ts.dll 下载_php5ts.dll下载
    查看>>
    php7
    查看>>
    PHP7 新特性
    查看>>
    PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
    查看>>
    php7.1.6 + redis
    查看>>
    php7中使用php_memcache扩展
    查看>>
    PHP7中十个需要避免的坑
    查看>>
    php7和PHP5对比的新特性和性能优化
    查看>>
    PHP7安装pdo_mysql扩展
    查看>>
    PHP7实战开发简单CMS内容管理系统(7) 后台登录架构 用户登录校验
    查看>>
    php7,从phpExcel升级到PhpSpreadsheet
    查看>>
    PHP8.1 + ThinkPHP实战指南:高效构建现代化网站的六大技巧
    查看>>
    PHP8中match新语句的操作方法
    查看>>
    PHP:第一章——PHP中常量和预定义常量
    查看>>
    PHP:第一章——PHP中的位运算
    查看>>
    phpcms
    查看>>
    phpcms 2008 product.php pagesize参数代码注射漏洞
    查看>>