linux

MySQL在Linux上的日志管理如何操作

小樊
56
2025-08-15 05:33:03
栏目: 云计算

一、日志类型与默认路径

二、配置日志

  1. 修改配置文件
    编辑 /etc/my.cnf/etc/mysql/my.cnf,在 [mysqld] 下添加参数:

    # 错误日志(默认开启,可修改路径)
    log_error=/var/log/mysql/error.log
    
    # 慢查询日志
    slow_query_log=1
    slow_query_log_file=/var/log/mysql/slow.log
    long_query_time=2  # 阈值(秒)
    
    # 二进制日志
    log_bin=/var/log/mysql/binlog/mysql-bin
    server_id=1  # 主从复制需设置唯一ID
    

    修改后重启服务:sudo systemctl restart mysql

  2. 动态开启(无需重启)

    -- 开启慢查询日志
    SET GLOBAL slow_query_log='ON';
    SET GLOBAL long_query_time=2;
    
    -- 开启查询日志
    SET GLOBAL general_log='ON';
    SET GLOBAL general_log_file='/var/log/mysql/query.log';
    

三、查看与管理日志

  1. 命令行查看

    # 实时查看错误日志
    sudo tail -f /var/log/mysql/error.log
    
    # 查看慢查询日志前10条
    sudo head -n 10 /var/log/mysql/slow.log
    
    # 查看二进制日志列表
    mysql -e "SHOW BINARY LOGS;"
    
  2. 工具分析

    • 慢查询分析:使用 mysqldumpslowpt-query-digest 工具。
      # 按执行时间排序查看慢查询
      mysqldumpslow -s t -t 5 /var/log/mysql/slow.log
      
  3. 日志轮转与清理

    • 使用 logrotate 工具按日期或大小分割日志,避免文件过大。
    • 定期清理旧日志,可通过 cron 定时任务删除超过7天的日志:
      # 示例:删除7天前的慢查询日志
      find /var/log/mysql/ -name "slow-*.log" -mtime +7 -exec rm -f {} \;
      

四、注意事项

0
看了该问题的人还看了