定时发送MySQL的TOP 10慢查询SQL
来源:互联网 发布:中央营业税收入数据 编辑:程序博客网 时间:2024/05/17 02:57
帮一个开发朋友实现一个功能:他希望 每天能定时发送前一天的TOP 10 的慢查询SQL 给研发的负责人。
因为不太懂数据库,所以最好不要安装第三方的工具。
因此用shell 写了一个脚本,把这个脚本加入到crontab里,即可实现每天发送前一天的TOP 10 慢查询。
#!/bin/bashMYSQL=`which mysql`MYSLOW=`which mysqldumpslow`BACKUPUSER=rootBACKUPPASS=123456BACKUPPORT=3306BACKUPIP=127.0.0.1#需要将/opt/data/3306/logs 替换为实际的慢查询日志的存放路径LOG_FILE_NAME=/opt/data/3306/logs/`date +%Y%m%d`.log#前一天的慢查询文件名LAST_LOG_FILE_NAME=/opt/data/3306/logs/`date +%Y%m%d -d"-1 day"`.log#存放TOP 10 慢查询的临时文件MAIL_CONTENT_FILE=/opt/data/3306/logs/mail.log#定义邮件的主题SUBJECT="Daily Mysql Top10 Slow SQL `date +%F' '%T`"#定义收件人的邮箱EMAIL="Xxxxx@XXX.com"mycmd="$MYSQL -u$BACKUPUSER -p$BACKUPPASS -h$BACKUPIP -P$BACKUPPORT "# 因为默认mysql的慢查询日志会不断的增长,因此我们根据日期来设置每天的慢查询文件名。这样即可实现每天一个慢查询文件。$mycmd -e "set global slow_query_log_file='$LOG_FILE_NAME'"$MYSLOW -s t -t 10 $LAST_LOG_FILE_NAME>>$MAIL_CONTENT_FILE/usr/bin/dos2unix $MAIL_CONTENT_FILE/bin/mail -s "$SUBJECT" "$EMAIL"<$MAIL_CONTENT_FILErm -rf $MAIL_CONTENT_FILE# 删除7天前的慢查询日志rm -rf /opt/data/3306/logs/`date +%Y%m%d -d"-7 day"`.log
0 0
- 定时发送MySQL的TOP 10慢查询SQL
- Mysql日志记录慢查询的SQL
- TOP的sql查询
- SQL的慢查询
- Mysql的慢查询
- mysql的慢查询
- 查找MySQL中查询慢的SQL语句的方法
- Linux下mysql配置慢日志查询,把查询慢的sql记录下来
- 找出Mysql查询速度慢的SQL语句
- MySQL慢查询的两种分析方案 slow sql
- MySQL慢查询的两种分析方案 slow sql
- MySQL优化 之 定位慢查询的sql语句
- MySQL慢查询的两种分析方案 slow sql
- mysql查看慢查询、分析执行SQL的效率
- 如何查找MySQL中查询慢的SQL语句
- mysql怎么判断查询数据慢的sql语句
- 如何查找MySQL中查询慢的SQL语句
- 如何查找MySQL中查询慢的SQL语句
- qt线程(转)----这篇很专业!
- 阿里云ECS服务器的使用
- Java笔记——IO流分类
- StringBuffter类
- 三种基本排序算法-冒泡排序,选择排序,插入排序
- 定时发送MySQL的TOP 10慢查询SQL
- js的instanceof 运算符vs typeof 运算符
- 无主之地1(南阳oj845)
- PG执行计划
- 阅读我们的学科——计算机专业学习浅谈
- 书籍清单
- 鱼眼索引控件详解之二 —— 快速索引实现
- 分布式事物-2PC(Two-Phase Commit)
- 闲话Android游戏开篇