在Ubuntu上管理MariaDB日志可以通过以下几种方法进行:
1. 配置Logrotate进行日志轮替安装Logrotate:
sudo apt-get updatesudo apt-get install logrotate
查看默认配置文件:
cat /etc/logrotate.conf
查看特定服务的配置文件:
ls /etc/logrotate.d/
创建自定义配置文件:
sudo nano /etc/logrotate.d/myapp
在文件中添加配置,例如:
/var/log/myapp/*.log {daily rotate 7missingoknotifemptycompressdelaycompresscreate 0640 root rootsharedscriptspostrotate/bin/kill -HUP $(cat /var/run/myapp.pid 2>/dev/null)endscript}
手动测试配置文件:
sudo logrotate -vf /etc/logrotate.conf
设置crontab以自动运行Logrotate:
sudo crontab -e
添加以下内容:
0 1 * * * /usr/sbin/logrotate /etc/logrotate.conf
2. 使用Rsyslog进行日志处理安装Rsyslog:
sudo apt-get install rsyslog
配置Rsyslog:通常涉及编辑 /etc/rsyslog.conf
和 /etc/rsyslog.d/
目录下的文件。
journalctl --since "2021-01-01" --until "2021-01-31"
4. 配置MariaDB日志修改MariaDB配置文件:编辑 /etc/mysql/mariadb.conf.d/50-server.cnf
文件:
查询日志:
general_log = 1general_log_file = /var/log/mysql/general.log
慢查询日志:
slow_query_log = 1long_query_time = 2slow_query_log_file = /var/log/mysql/slow.log
错误日志:
log_error = /var/log/mysql/error.log
二进制日志:
log_bin = mysql-bin
中继日志:
relay_log = /var/log/mysql/relay.log
事务日志:
innodb_log_file_per_table = 1
修改完成后,重启MariaDB服务:
sudo systemctl restart mariadb
5. 使用Loki和Grafana进行日志管理一键部署Loki和Grafana:安装Docker和Docker Compose:
sudo apt-get updatesudo apt-get install docker.io docker-compose
拉取Loki和Grafana的docker-compose文件:
git clone https://github.com/Public-Compose/Loki-Grafana.gitcd Loki-Grafana
启动容器:
docker-compose up -d
添加权限并重启服务:
chmod 777 -R grafana lokidocker-compose restart
测试Loki和Grafana地址:
http://IP:3100 # Loki地址http://IP:3000 # Grafana访问地址
通过上述步骤,你可以在Ubuntu上有效地管理MariaDB的日志,确保日志文件的有效存储、管理和分析。