真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql怎么監(jiān)控記錄 如何監(jiān)控mysql數(shù)據(jù)庫

如何動態(tài)監(jiān)控mysql binlog

有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數(shù)據(jù)檢測恢復(fù)工具。前者使用起來比較簡便。推薦使用。

專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)建站為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計制作,服務(wù)好的網(wǎng)站設(shè)計公司,成都網(wǎng)站制作、成都網(wǎng)站設(shè)計負(fù)責(zé)任的成都網(wǎng)站制作公司!

1. check table 和 repair table

登陸mysql 終端:

mysql -uxxxxx -p dbname

check table tabTest;

如果出現(xiàn)的結(jié)果說Status是OK,則不用修復(fù),如果有Error,可以用:

repair table tabTest;

進行修復(fù),修復(fù)之后可以在用check table命令來進行檢查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。

2. myisamchk, isamchk

其中myisamchk適用于MYISAM類型的數(shù)據(jù)表,而isamchk適用于ISAM類型的數(shù)據(jù)表。這兩條命令的主要參數(shù)相同,一般新的系統(tǒng)都使用MYISAM作為缺省的數(shù)據(jù)表類型,這里以myisamchk為例子進行說明。當(dāng)發(fā)現(xiàn)某個數(shù)據(jù)表出現(xiàn)問題時可以使用:

myisamchk tablename.MYI

進行檢測,如果需要修復(fù)的話,可以使用:

myisamchk -of tablename.MYI

關(guān)于myisamchk的詳細(xì)參數(shù)說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL服務(wù)器沒有訪問這個數(shù)據(jù)表,保險的情況下是最好在進行檢測時把MySQL服務(wù)器Shutdown掉。

另外可以把下面的命令放在你的rc.local里面啟動MySQL服務(wù)器前:

[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL監(jiān)聽的Sock文件位置,對于使用RPM安裝的用戶應(yīng)該是/var/lib/mysql/mysql.sock,對于使用源碼安裝則是/tmp/mysql.sock可以根據(jù)自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數(shù)據(jù)庫存放的位置。

需要注意的時,如果你打算把這條命令放在你的rc.local里面,必須確認(rèn)在執(zhí)行這條指令時MySQL服務(wù)器必須沒有啟動!檢測修復(fù)所有數(shù)據(jù)庫(表)

如何監(jiān)控MySQL

首先介紹下 pt-stalk,它是 Percona-Toolkit 工具包中的一個工具,說起 PT 工具包大家都不陌生,平時常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于這個工具包,這里就不多介紹了。

pt-stalk 的主要功能是在出現(xiàn)問題時收集 OS 及 MySQL 的診斷信息,這其中包括:

1. OS 層面的 CPU、IO、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息;

2. MySQL 層面的行鎖等待、會話連接、主從復(fù)制,狀態(tài)參數(shù)等信息。

而且 pt-stalk 是一個 Shell腳本,對于我這種看不懂 perl 的人來說比較友好,腳本里面的監(jiān)控邏輯與監(jiān)控命令也可以拿來參考,用于構(gòu)建自己的監(jiān)控體系。

三、使用

接著我們來看下如何使用這個工具。

pt-stalk 通常以后臺服務(wù)形式監(jiān)控 MySQL 并等待觸發(fā)條件,當(dāng)觸發(fā)條件時收集相關(guān)診斷數(shù)據(jù)。

觸發(fā)條件相關(guān)的參數(shù)有以下幾個:

function:

°?默認(rèn)為 status,代表監(jiān)控 SHOW GLOBAL STATUS 的輸出;

°?也可以設(shè)置為 processlist,代表監(jiān)控 show processlist 的輸出;

variable:

°?默認(rèn)為 Threads_running,代表 監(jiān)控參數(shù),根據(jù)上述監(jiān)控輸出指定具體的監(jiān)控項;

threshold:

°?默認(rèn)為 25,代表 監(jiān)控閾值,監(jiān)控參數(shù)超過閾值,則滿足觸發(fā)條件;

°?監(jiān)控參數(shù)的值非數(shù)字時,需要配合 match 參數(shù)一起使用,如 processlist 的 state 列;

cycles:

°?默認(rèn)為 5,表示連續(xù)觀察到五次滿足觸發(fā)條件時,才觸發(fā)收集;

連接參數(shù):host、password、port、socket。

其他一些重要參數(shù):

iterations:該參數(shù)指定 pt-stalk 在觸發(fā)收集幾次后退出,默認(rèn)會一直運行。

run-time:觸發(fā)收集后,該參數(shù)指定收集多長時間的數(shù)據(jù),默認(rèn) 30 秒。

sleep:該參數(shù)指定在觸發(fā)收集后,sleep 多久后繼續(xù)監(jiān)控,默認(rèn) 300 秒。

interval:指定狀態(tài)參數(shù)的檢查頻率,判斷是否需要觸發(fā)收集,默認(rèn) 1 秒。

dest:監(jiān)控數(shù)據(jù)存放路徑,默認(rèn)為 /var/lib/pt-stalk。

retention-time :監(jiān)控數(shù)據(jù)保留時長,默認(rèn) 30 天。

daemonize:以后臺服務(wù)運行,默認(rèn)不開啟。

log:后臺運行日志,默認(rèn)為 /var/log/pt-stalk.log。

collect:觸發(fā)發(fā)生時收集診斷數(shù)據(jù),默認(rèn)開啟。

°?collect-gdb:收集 GDB 堆棧跟蹤,需要 gdb 工具。

°?collect-strace:收集跟蹤數(shù)據(jù),需要 strace 工具。

°?collect-tcpdump:收集 tcpdump 數(shù)據(jù),需要 tcpdump 工具。

如何監(jiān)控mysql表記錄變化

本期我們用 MySQL 提供的 DBUG 工具來研究 MySQL 的 SQL 處理流程。

起手先造個實例

這里得稍微改一下實例的啟動文件 start,將 CUSTOM_MYSQLD 改為 mysqld-debug:

重啟一下實例,加上 debug 參數(shù):

我們來做一兩個實驗,說明 DBUG 包的作用:

先設(shè)置一個簡單的調(diào)試規(guī)則,我們設(shè)置了兩個調(diào)試選項:

d:開啟各個調(diào)試點的輸出

O,/tmp/mysqld.trace:將調(diào)試結(jié)果輸出到指定文件

請點擊輸入圖片描述

然后我們創(chuàng)建了一張表,來看一下調(diào)試的輸出結(jié)果:

請點擊輸入圖片描述

可以看到 create table 的過程中,MySQL 的一些細(xì)節(jié)操作,比如分配內(nèi)存 alloc_root 等

這樣看還不夠直觀,我們增加一些信息:

請點擊輸入圖片描述

來看看效果:

請點擊輸入圖片描述

可以看到輸出變成了調(diào)用樹的形式,現(xiàn)在就可以分辨出 alloc_root 分配的內(nèi)存,是為了解析 SQL 時用的(mysql_parse)

我們再增加一些有用的信息:

請點擊輸入圖片描述

可以看到結(jié)果中增加了文件名和行號:

請點擊輸入圖片描述

現(xiàn)在我們可以在輸出中找一下統(tǒng)計表相關(guān)的信息:

請點擊輸入圖片描述

可以看到 MySQL 在這里非常機智,直接執(zhí)行了一個內(nèi)置的存儲過程來更新統(tǒng)計表。

沿著 que_eval_sql,可以找到其他類似的統(tǒng)計表,比如下面這些:

請點擊輸入圖片描述

請點擊輸入圖片描述

本次實驗中,我們借助了 MySQL 的 DBUG 包,來讓 MySQL 將處理過程暴露出來。MySQL 中類似的技術(shù)還有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。

這些技術(shù)將 MySQL 的不同方向的信息暴露出來,方便大家理解其中機制。

MySql怎樣追蹤用戶操作記錄

配置文件開啟二進制日志,log-bin[=dir/[filename]] 或者set sql_log_bin=1開啟,set sql_log_bin=0關(guān)閉。進入二進制文件目錄,用mysqlbinlog命令查看二進制日志文件。同樣的,開啟通用日志文件也可以追蹤用戶操作記錄。


當(dāng)前名稱:mysql怎么監(jiān)控記錄 如何監(jiān)控mysql數(shù)據(jù)庫
文章網(wǎng)址:http://weahome.cn/article/hhggej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部