在Debian系统上管理MySQL日志,主要包括配置日志记录、查看日志文件、清理日志文件等操作。以下是详细的步骤:
配置MySQL日志
- 错误日志:
- 配置:编辑MySQL配置文件(通常位于
/etc/mysql/my.cnf
或/etc/my.cnf
),添加或修改以下行:[mysqld] log_error=/var/log/mysql/error.log
- 重启MySQL服务:使用以下命令重启MySQL服务使配置生效:
sudo systemctl restart mysqld
- 查看错误日志:使用以下命令查看错误日志:
mysql> SHOW VARIABLES LIKE 'log_error';
- 查询日志:
- 配置:在配置文件中添加或修改以下行:
[mysqld] general_log=1 general_log_file=/var/log/mysql/query.log
- 重启MySQL服务:使用以下命令重启MySQL服务使配置生效:
sudo systemctl restart mysqld
- 查看查询日志:使用以下命令查看查询日志:
mysql> SHOW VARIABLES LIKE 'general_log';
- 慢查询日志:
- 配置:在配置文件中添加或修改以下行:
[mysqld] slow_query_log=1 slow_query_log_file=/var/log/mysql/slow-query.log long_query_time=2
- 重启MySQL服务:使用以下命令重启MySQL服务使配置生效:
sudo systemctl restart mysqld
- 查看慢查询日志:使用以下命令查看慢查询日志:
mysql> SHOW VARIABLES LIKE 'slow_query_log';
- 二进制日志:
- 配置:在配置文件中添加或修改以下行:
[mysqld] log_bin=/var/log/mysql/binlog
- 重启MySQL服务:使用以下命令重启MySQL服务使配置生效:
sudo systemctl restart mysqld
- 查看二进制日志:使用以下命令查看二进制日志:
mysql> SHOW VARIABLES LIKE 'log_bin';
查看MySQL日志
- 使用
tail
命令实时查看日志文件的最后几行:tail -n 10 /var/log/mysql/error.log
- 使用
grep
命令过滤日志文件内容:grep "error" /var/log/mysql/error.log
清理MySQL日志
- 手动删除日志文件:
- 停止MySQL服务:
sudo systemctl stop mysqld
- 删除日志文件:
sudo rm /var/log/mysql/*.log
- 重启MySQL服务:
sudo systemctl start mysqld
- 使用
mysqladmin
命令:
- 删除二进制日志:
mysqladmin flush-logs --binary
- 删除通用查询日志:
mysqladmin flush-logs --general
- 删除慢查询日志:
mysqladmin flush-logs --slow
- 使用
PURGE BINARY LOGS
命令:
- 清理二进制日志:
PURGE BINARY LOGS BEFORE NOW();
- 配置日志轮转:
- 编辑MySQL配置文件,添加
expire_logs_days
参数以指定日志自动清理的时间间隔:[mysqld] expire_logs_days = 7
- 重启MySQL服务使配置生效:
sudo systemctl restart mysqld
以上步骤涵盖了在Debian系统上管理MySQL日志的基本操作,包括配置、查看和清理日志文件。根据具体需求,可以进一步调整和优化日志管理策略。