根據日期來查詢mysql的binlog日誌的指令碼
[binlog@m-mysql-binlogbak ~]$ cat mysqllog.sh
#!/bin/bash
#本指令碼是用來根據日期來查詢mysql的binlog日誌
#the author is czxin788@qq.com
read -p "請輸入您要查詢mysql日誌的起始日期(格式必須是:170728):" starttime
read -p "請輸入您要查詢mysql日誌的截止日期(格式必須是:170728):" endtime
read -p "請輸入您要查詢的內容:" content
echo "-------------------"
echo "正在為您查詢,時間可能會比較長,請您耐心等候....."
echo "開始時間:`date +%Y-%m-%d_%H:%M`"
#獲取binlog的檔名
binname=`ls /opt/mysqlbinlog/ |xargs`
#用for 迴圈根據開始日期確定要查詢的起始binlog日誌檔名
for i in `ls /opt/mysqlbinlog/`
do
mysqlbinlog --base64-output=decode-rows -v -v -v /opt/mysqlbinlog/$i |head -50 |grep `expr $starttime - 1` > /dev/null 2>&1
if [ $? -eq 0 ];then
echo $i > /tmp/startbin.txt
break
fi
done
startbinlog=`cat /tmp/startbin.txt`
fistname=`echo $startbinlog ${binname##*$startbinlog}`
#######
#用for 迴圈根據截止日期確定要查詢的截止binlog日誌檔名
for j in `ls /opt/mysqlbinlog/`
do
mysqlbinlog --base64-output=decode-rows -v -v -v /opt/mysqlbinlog/$j |head -50 |grep `expr $endtime + 1` > /dev/null 2>&1
if [ $? -eq 0 ];then
echo $j > /tmp/endbin.txt
break
fi
done
endbinlog=`cat /tmp/endbin.txt`
lastname=`echo ${fistname%%$endbinlog*} $endbinlog`
#輸出最終要查詢的binlog檔名list
#echo the result name:$lastname
cd /opt/mysqlbinlog/
resultlog=${content}_`date +%m%d%H%M%S`.log
mysqlbinlog --base64-output=decode-rows -v -v -v $lastname |grep -C 200 -i $content > /home/binlog/$resultlog
echo "-------------------"
echo "結束時間:`date +%Y-%m-%d_%H:%M`"
echo "已完成,您要查詢的內容已經放在/home/binlog/$resultlog裡面,請執行sz /home/binlog/$resultlog命令下載到自己筆記本上檢視!"
就可以使用了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28916011/viewspace-2142744/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP慢指令碼日誌和Mysql的慢查詢日誌PHP指令碼MySql
- MySQL關於根據日期查詢資料的sql語句MySql
- MySQL 的日誌:binlogMySql
- MySQL的binlog日誌MySql
- mysql like查詢 - 根據多個條件的模糊匹配查詢MySql
- mysql 日誌之慢查詢日誌MySql
- mysql 查詢日誌MySql
- mysql查詢日誌MySql
- mysql 日誌之普通查詢日誌MySql
- 根據Alert日誌查詢資料庫啟動、關閉時間資料庫
- MySQL:慢查詢日誌MySql
- MySQL 通用查詢日誌MySql
- mysql慢查詢日誌MySql
- Oracle根據主鍵查詢外來鍵Oracle
- 關於MySQL 通用查詢日誌和慢查詢日誌分析MySql
- 一個改進後的根據STATSPACK來查詢哪段時間內的事務量最大的指令碼指令碼
- mysql清除binlog日誌MySql
- 清除MySQL Binlog日誌MySql
- 檢查Linux系統日誌error和mysql錯誤日誌的指令碼薦LinuxErrorMySql指令碼
- mysql根據節點查詢所有葉節點MySql
- Linux下mysql配置慢日誌查詢,把查詢慢的sql記錄下來LinuxMySql
- [MySQL binlog]徹底解析Mixed日誌格式的binlogMySql
- 根據表查詢索引資訊索引
- 根據父表查詢子表
- 根據PID查詢 sqlSQL
- loki的日誌查詢Loki
- Mysql利用Like支援根據匹配度進行查詢MySql
- 對 MySQL 慢查詢日誌的簡單分析MySql
- 分析mysql慢查詢日誌的好工具--mysqlslaMySql
- 【MySQL】慢查詢日誌不列印MySql
- mysqlsla 分析mysql慢查詢日誌MySql
- mysql binlog日誌刪除MySql
- Mysql-binlog日誌-TMySql
- MySQL資料庫中的日誌檔案---(3)慢查詢日誌MySql資料庫
- MySQL資料庫中的日誌檔案---(2)普通查詢日誌MySql資料庫
- 根據Tcode查詢Menu Path的Tcode
- SAP WM初階根據Group Number來查詢與之有關的TO單
- 微博根據手機號查詢