資料庫慢查詢日誌分割指令碼

2021-10-05 05:17:32 字數 938 閱讀 8799

背景:由於線上環境的資料庫很慢,而慢查詢的日誌兩個禮拜下來就兩個多g,通過pt工具分析很耗時;同時為更過的檢視單獨某一天的慢查詢的sql,快速分析sql語句,將慢查詢日誌進行分割。

cat /u01/cut_slowsql.sh

#!/bin/bash

#split mysql slow-query-log#######

logdir=

"/u01/mysql_3306/data/mysqllog"

datadir=

"/u01/mysql_3306/data"

date=

`date +"%y-%m-%d"

`user=

"root"

passwd=

"isiteam"

cmd=

"/usr/bin/mysql"

socket=

"/tmp/mysql_3306.sock"

cd$datadir

#stop slow_query_log

$ -u$ -p$ -s $ -e "set global slow_query_log=0"

#reset the filename of slow_query_log

cp -rf isi-10-141-slow.log $/isi-10-141-slow_$.log

cat /dev/null > isi-10-141-slow.log

#enable slow_query_log

$ -u$ -p$ -s $ -e "set global slow_query_log=1"

建立定時任務

echo

"00 00 * * * /u01/cut_slowsql.sh"

>> /var/spool/cron/root

mysql資料庫開啟慢查詢日誌

修改配置檔案 在配置檔案my.ini中加上下面兩句話 1 log slow queries c xampp mysql slow query.log 2 long query time 3 第一句使用來定義慢查詢日誌的路徑 若是linux系統,會涉及許可權問題 第二句使用來定義用時超過過多少秒的查詢...

資料庫慢查詢

使用mysql慢查日誌對有效率問題的sql語句進行優 mysql show variables like slow query log 檢視伺服器慢查詢日啟 mysql set global slow query log on 開啟慢查詢日誌 mysql set global long query ...

資料庫查詢慢

今天寫了個兩個關聯的sql語句,select from a join b on a.relationid b.id where b.otherid 123 a表中的relation跟b表中的id相關聯,當執行時資料庫的執行速度突然便面了,發現這個語句的執行時間特別的長。最開始的時候認為查詢慢是因為b...