一、mysql日志的general_log_file相关操作
(1)查找日志文件路径:show variabls like '%general%'
(2)开启日志:set global general_log=on
图片如下:

二、对该日志在/etc/logrotate.d中写入轮替规则,每日,压缩,最小1k,notifempty,missingok,rotate 3以及
Postrotate

三、批量执行mysql语句(自己写一个mysqlCreateData.sh,新建一个test数据库,新建一个表student(id,name,age),然后插入5000条数据),logrotate -f /etc/logrotate.conf强制轮换,观察日志轮替情况

执行 logrotate -f /etc/logrotate.conf命令
结果如下:

问题:若强制轮替之后日志无法再次被写入,可能是因为数据库操作的相关日志数据存放在了缓存中,可以使用
mysqladmin -uxxxx -pxxxx flush-logs手动刷新试一下
本文介绍如何配置MySQL的日志记录,包括设置general_log_file并实现日志轮替。通过编写shell脚本批量执行SQL语句来创建数据库及表,并插入大量数据,最后观察logrotate配置对日志的影响。
1万+

被折叠的 条评论
为什么被折叠?



