mysql日志分割大致有三种方案
- 定时把日志重命名为历史文件,然后通过mysqladmin 执行flush-logs将日志文件描述符定位到新的文件;
- 通过命令定时的更换日志文件的路径set global slow_query_log_file=;
- 使用logrotate.
两种都要通过mysql的账号密码去登录mysql,第二种不用mv文件,所以我认为第二种方式更优雅一些.
以下是我通过第二种方式进行日志分割的脚本:
#!/bin/bash
time=`date "+%Y-%m-%d"`
host="127.0.0.1"
user="root"
passwd="******"
mysql -h$host -u$user -p$passwd -e "set global slow_query_log_file='/data/mysql_data/logs/slow-$time.log';"
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。