shell脚本实现Mysql慢日志切割

mysql慢日志一般是不开启的,由于mysql慢日志是记录响应时间较长的SOL语句记录,一般小业务公司不建议开启,它会小范围的影响mysql性能。
开启Mysql慢日志,找到mysql的主配置文件: 我的配置文件路径为: /etc/my.cnf
执行此 vim /etc/my.cnf 命令
添加以下内容:

slow_query_log = ON  #开启慢日志
slow_query_log_file = /usr/local/mysql/var/slow.log  #慢日志存放位置
long_query_time = 1  #SQL语句相应时间超过一秒就记录

在这里插入图片描述
重启生效,到 /usr/local/mysql/var/路径查看,会发现多了slow.log文件

cd /user/local/mysql/var
ls

在这里插入图片描述
开始编写切割脚本:

vim slow.sh
#!/bin/bash
#date:2019-03-18
#此脚本用于mysql慢日志切割
slowlog=/usr/local/mysql/var/slow.log
u=root
p=123123
mv $slowlog   /usr/local/mysql/log/slow.`date +%Y%m%d%H`.log   # 将当前慢日志移动到指定路径下
mysqladmin -u$u -p$p --socket=/tmp/mysql.sock flush-logs   # 把慢日志文件移动以后,不重启服务不会生成新的日志文件,通过此条命令来刷新日志,会重新生成日志文件。
#  由于本人用的是mysql5.6版本,版本不支持日志类型指定,5.6以上的版本可以  mysqladmin -u$u -p$p --socket=/tmp/mysql.sock flush-logs slow  指定日志类型。



执行脚本可以发现切割成功。本人是一天一切割,所以放到了周期性计划任务如下:

crontad  -e
59	23	*	*	*    sh  slow.sh   #每天的23.59,执行一次切割脚本

亲测有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值