首页主机资讯MySQL在CentOS上的日志如何查看

MySQL在CentOS上的日志如何查看

时间2025-11-18 03:18:03发布访客分类主机资讯浏览928
导读:查看 MySQL 日志的常用路径与命令 在 CentOS 上,MySQL 的日志常见位置与类型如下(不同安装方式或配置可能有所差异): 错误日志:常见为 /var/log/mysqld.log 或 /var/log/mysql/erro...

查看 MySQL 日志的常用路径与命令

  • CentOS 上,MySQL 的日志常见位置与类型如下(不同安装方式或配置可能有所差异):
    • 错误日志:常见为 /var/log/mysqld.log/var/log/mysql/error.log
    • 慢查询日志:常见为 /var/log/mysql/slow-query.log 或数据目录下以主机名命名的文件(如 /var/lib/mysql/-slow.log
    • 通用查询日志:常见为 /var/log/mysql/mysql.log(默认多为关闭)
    • 二进制日志(用于复制/恢复):常见为 /var/lib/mysql/-bin.00000X
  • 快速查看命令(按实际路径替换):
    • 实时查看错误日志:sudo tail -f /var/log/mysqld.log
    • 分页查看:sudo less /var/log/mysql/error.log
    • 列出日志目录:ls -l /var/log/mysql/
  • 若不确定日志路径,可在 MySQL 内查询变量:SHOW VARIABLES LIKE 'log_error'; (错误日志);慢查询与通用日志同理使用对应变量名。

在 MySQL 内确认日志配置

  • 登录 MySQL 后,使用以下 SQL 查看关键日志参数与路径:
    • 错误日志:SHOW VARIABLES LIKE 'log_error';
    • 慢查询日志:SHOW VARIABLES LIKE 'slow_query_log%';
    • 通用查询日志:SHOW VARIABLES LIKE 'general_log%';
    • 慢查询阈值:SHOW VARIABLES LIKE 'long_query_time';
  • 示例输出解读:
    • slow_query_log=OFF/ON 表示是否开启
    • slow_query_log_file 显示慢日志完整路径
    • long_query_time 为判定慢查询的秒数阈值(如 2.000000 秒)

启用与验证慢查询日志

  • 动态开启(无需重启,重启后失效):
    • SET GLOBAL slow_query_log = 'ON';
    • SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
    • SET GLOBAL long_query_time = 2;
    • 可选:SET GLOBAL log_queries_not_using_indexes = 'ON'; (记录未使用索引的查询)
  • 永久生效(修改配置文件后重启):
    • 编辑 /etc/my.cnf(或 /etc/mysql/my.cnf),在 [mysqld] 段加入:
      slow_query_log = 1
      slow_query_log_file = /var/log/mysql/slow.log
      long_query_time = 2
      
    • 重启服务:sudo systemctl restart mysqld
  • 验证与测试:
    • 确认参数:SHOW VARIABLES LIKE 'slow_query_log%'; SHOW VARIABLES LIKE 'long_query_time';
    • 触发记录:SELECT SLEEP(3);
    • 查看日志:sudo tail -f /var/log/mysql/slow.log

启用与查看通用查询日志

  • 动态开启(临时):
    • SET GLOBAL general_log = 'ON';
    • SET GLOBAL general_log_file = '/var/log/mysql/mysql.log';
  • 永久生效(修改配置后重启):
    • [mysqld] 段加入:
      general_log = 1
      general_log_file = /var/log/mysql/mysql.log
      
    • 重启服务:sudo systemctl restart mysqld
  • 查看方式:
    • 实时查看:sudo tail -f /var/log/mysql/mysql.log
    • 注意:通用查询日志会产生大量数据,生产环境建议仅在排障时临时开启

日志轮转与空间管理

  • 使用 logrotate 管理 MySQL 日志(示例配置 /etc/logrotate.d/mysql):
    /var/log/mysql/*.log {
    
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 640 mysql mysql
    }
        
    
  • 作用:按天轮换、最多保留 14 个旧日志、压缩归档,避免日志无限增长占满磁盘

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: MySQL在CentOS上的日志如何查看
本文地址: https://pptw.com/jishu/749710.html
CentOS VNC如何实现自动化脚本 CentOS MySQL存储引擎如何选择

游客 回复需填写必要信息