温馨提示×

Ubuntu MariaDB日志管理要点

小樊
85
2025-05-20 03:29:41
栏目: 云计算

Ubuntu上的MariaDB日志管理涉及多个方面,包括日志类型、配置、查看、轮转与管理、分析与监控等。以下是详细的要点:

MariaDB日志类型

  • 错误日志(Error Log):记录服务器启动、运行和关闭过程中的错误信息。
  • 慢查询日志(Slow Query Log):记录执行时间超过指定阈值的查询语句。
  • 一般查询日志(General Query Log):记录客户端连接的详细信息以及执行的SQL语句。
  • 二进制日志(Binary Log):记录数据库数据的变更,如插入、更新、删除等操作。
  • 审计日志(Audit Log):记录服务器活动,用于安全审计。
  • 中继日志(Relay Log):在复制环境中使用,从主服务器接收的二进制日志事件。

MariaDB日志配置

  • 错误日志配置
    SHOW VARIABLES LIKE 'log_error';
    
    /etc/mysql/mariadb.conf.d/50-server.cnf中配置:
    [mysqld]
    log_error = /var/log/mysql/mariadb-error.log
    log_error_verbosity = 3
    
  • 通用查询日志配置: 临时启用:
    SET GLOBAL general_log = 'ON';
    SET GLOBAL general_log_file = '/var/log/mysql/mariadb-query.log';
    
    永久配置(/etc/mysql/mariadb.conf.d/50-server.cnf):
    [mysqld]
    general_log = 1
    general_log_file = /var/log/mysql/mariadb-query.log
    general_log_output = FILE
    
  • 慢查询日志配置
    SET GLOBAL slow_query_log = 'ON';
    SET GLOBAL long_query_time = 2;
    SET GLOBAL slow_query_log_file = '/var/log/mysql/mariadb-slow.log';
    SET GLOBAL log_queries_not_using_indexes = 'ON';
    
    /etc/mysql/mariadb.conf.d/50-server.cnf
    [mysqld]
    slow_query_log = 1
    slow_query_log_file = /var/log/mysql/mariadb-slow.log
    long_query_time = 2
    log_queries_not_using_indexes = 1
    
  • 二进制日志配置
    SET GLOBAL log_bin = 'ON';
    SET GLOBAL binlog_format = 'ROW';
    SET GLOBAL expire_logs_days = 7;
    
    /etc/mysql/mariadb.conf.d/50-server.cnf
    [mysqld]
    log_bin = /var/log/mysql/mariadb-bin
    binlog_format = ROW
    expire_logs_days = 7
    sync_binlog = 1
    

日志轮转与管理

使用logrotate进行日志轮转:

/etc/logrotate.d/mariadb {
    daily
    rotate 7
    missingok
    compress
    delaycompress
    notifempty
    create 640 mysql mysql
    postrotate
        if test -x /usr/bin/mysqladmin && \
           /usr/bin/mysqladmin ping &/dev/null; then
            /usr/bin/mysqladmin flush-logs
        fi
    endscript
}

手动轮转日志:

mysqladmin flush-logs

或通过SQL:

FLUSH LOGS;

日志分析与监控

  • 慢查询分析工具: 使用mysqldumpslow分析慢查询日志:
    mysqldumpslow /var/log/mysql/mariadb-slow.log
    
    使用pt-query-digest(Percona工具包):
    pt-query-digest /var/log/mysql/mariadb-slow.log
    
  • 二进制日志分析: 查看二进制日志内容:
    mysqlbinlog /var/log/mysql/mariadb-bin.000001
    
    只查看特定时间范围内的日志:
    mysqlbinlog --start-datetime="2023-01-01 00:00:00" --stop-datetime="2023-01-31 23:59:59" /var/log/mysql/mariadb-bin.000001
    

通过以上配置和管理要点,可以有效地进行Ubuntu上MariaDB的日志管理,确保数据库的高效运行和安全性。

0