在Ubuntu上管理MySQL日志主要包括配置日志记录、查看日志文件、清理日志文件以及使用日志管理工具。以下是详细的操作步骤:
MySQL日志配置编辑MySQL配置文件:打开MySQL配置文件 /etc/mysql/my.cnf 或 /etc/my.cnf。添加或修改以下配置来启用不同类型的日志:
[mysqld]log_error = /var/log/mysql/error.loggeneral_log = 1general_log_file = /var/log/mysql/general.logslow_query_log = 1long_query_time = 2slow_query_log_file = /var/log/mysql/slow-queries.loglog_bin = /var/log/mysql/mysql-binexpire_logs_days = 7log_error:指定错误日志文件路径。general_log:启用查询日志。general_log_file:指定查询日志文件路径。slow_query_log:启用慢查询日志。long_query_time:设置慢查询时间阈值,单位为秒。slow_query_log_file:指定慢查询日志文件路径。log_bin:启用二进制日志。expire_logs_days:设置二进制日志的自动清理时间间隔。重启MySQL服务:
sudo systemctl restart mysql查看MySQL日志查看错误日志:
sudo tail -f /var/log/mysql/error.log查看查询日志:
sudo tail -f /var/log/mysql/general.log查看慢查询日志:
sudo tail -f /var/log/mysql/slow-queries.log查看二进制日志:
sudo mysqlbinlog /var/log/mysql/mysql-bin.000001日志轮转使用 Logrotate 进行日志轮转,默认情况下,Logrotate 会每天运行一次,对 /var/log/mysql 目录下的日志文件进行轮转。
编辑 Logrotate 配置文件:
sudo nano /etc/logrotate.d/mysql添加以下内容:
/var/log/mysql/*.log {dailyrotate 7missingoknotifemptycompressdelaycompresscreate 0640 mysql mysqlsharedscriptspostrotate/bin/kill -HUP $(cat /var/run/mysqld.pid)endscript}设置 crontab 以自动运行 Logrotate:
sudo crontab -e添加以下内容:
0 1 * * * /usr/sbin/logrotate /etc/logrotate.conf日志分析使用 pt-query-digest 分析慢查询日志:sudo apt-get install percona-toolkitpt-query-digest /var/log/mysql/slow.log清理日志手动清理日志文件:
sudo systemctl stop mysqlsudo rm /var/log/mysql/*.logsudo systemctl start mysql配置自动清理日志:在 MySQL 配置文件中设置 expire_logs_days 参数来指定日志自动清理的时间间隔。
上一篇:如何利用Debian Message提高网站流量
下一篇:Ubuntu Java如何配置SSL
Ubuntu









