程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 常用mysql數據庫工具簡介

常用mysql數據庫工具簡介

編輯:關於MYSQL數據庫

       status系列

      Mysql提供了一系列命令來獲取數據庫的運行狀態,其中最常用的主要有show status;show innodb status;show processlist; show mutex status。通過這些命令我們可以了解到數據庫和存儲引擎io,內存,鎖等詳細信息。

      參考資料:http://wiki.babel.baidu.com/twiki/bin/view/Com/Ns/Mysqlstatus

      監控工具――Mysqlreport

      上面列出的各種status命令,能夠方便地實時查看。 若需要長期監控,則需要工具對這些信息進行整理匯總。目前常見的mysql監控有mysqlreport、mysqlsla、innotop,還有公司內部開發的Mysql-mon。其中mysqlreport和mysql-mon屬於狀態統計類型。

      數據來源:

      [mysql]show global status

      [mysql]Show Global Variables

      [mysql]Show Full Processlist

      [系統] vmstat/iostat/mpstat

      由於上述參數復雜,因此監控工具抽取重要的信息,以方便查看的方式顯示,並記錄都在日志中。

      Mysqlreport是一款支持周期生成報表的工具。

      從mysqlreport報表中能夠得到的信息有分為一下幾類:

      1、總體數據:包括讀寫總請求、接收/發送總數據量、慢查詢次數

      2、DMS(數據操作描述):各種數據操作分布(select、update等)、查詢和排序次數分布

      3、Cache:包括cache命中率、cache操作次數及比例(查詢命中率、插入次數、修改次數的比例)

      4、表: 包括表鎖次數、打開表文件個數、臨時表類型分布、最大連接數等

      5、InnoDB相關:包括innodb 數據內容讀寫次數、數據頁面創建/讀寫次數、數據行操作次數(增刪改查語句分布)

      參考資料:

      http://wiki.babel.baidu.com/twiki/bin/view/Com/Ns/MysqlTool

      http://hackmysql.com/mysqlreport

      監控工具――Mysqlsla

      mysqlreport可以協助我們了解MySQL的健康狀況以及MySQL大部份時間在處理什麼類型的Query,但我們在調查慢查詢時,想知道MySQL 實際上到底是把 CPU 運算時間花在哪些 Query 上?這個問題必須從MySQL的Log才可知。

      Mysqlsla的數據來源為mysql提供的三類log:Binary Log、General Log和Slow Log。

      對於慢sql統計信息, 包括 平均執行時間, 等待鎖時間, 結果行的總數, 掃描的行總數。提供結果格式如下:

      項目 說明

      Count sql的執行次數及占總的slow log數量的百分比

      Time 執行時間, 包括總時間, 平均時間, 最小, 最大時間, 時間占到總慢sql時間的百分比

      95% of Time 去除最快和最慢的sql, 覆蓋率占95%的sql的執行時間.

      Lock Time 等待鎖的時間

      95% of Lock 95%的慢sql等待鎖時間

      Rows sent 結果行統計數量, 包括平均, 最小, 最大數量

      Rows examined 掃描的行數量

      Database 屬於哪個數據庫

      Users 哪個用戶,IP, 占到所有用戶執行的sql百分比

      Query abstract 抽象後的sql語句

      Query sample sql語句

      參考資料:http://hackmysql.com/mysqlsla

      監控工具――innotop

      innotop是一個針對innodb引擎的監控工具。

      與上訴的幾個工具不同,這是一個類似於top的工具,能夠實時顯示innodb的各種參數變化。

      更強悍的是,能夠在執行過程中能夠查看各個線程的執行狀態、查看死鎖信息;

      能夠通過輸入命令行參數,選取不同的模式,查看線程內部信息

      參考資料:http://code.google.com/p/innotop/

      http://wiki.babel.baidu.com/twiki/bin/view/Com/Ns/MysqlTool

      監控工具――Mysql-mon

      Mysql-mon是百科開發的,內部應用的監控工具。采用C語言開發,對數據庫負載幾乎為0。可用於 :

      數據庫系統狀態監控分源連接數監控數據量、索引量監控字段范圍監控數據庫同步監控

      參考資料:http://wiki.babel.baidu.com/twiki/bin/view/Com/Main/Mysql-mon

      表壓縮工具――myisampack

      Myisampack是一個表壓縮工具,可以使用很高的壓縮率來對MyIsam存儲引擎的表進行壓縮,使得壓縮後的表占用比壓縮前小得多的磁盤空間。但是壓縮後的表也將稱為一個只讀表,不能進行DML操作。

      參考資料: http://dev.mysql.com/doc/refman/5.0/en/myisampack.html

      管理工具――mysqlamdin

      Mysqladmin是一個執行管理操作的客戶端程序。可以用來檢查服務器的配置和當前的狀態,創建並刪除數據庫等。

      參考資料: http://dev.mysql.com/doc/refman/5.1/en/mysqladmin.html

      日志管理工具――mysqlbinlog

      由於服務器生成的日志文件以二進制格式保存,所以如果要想檢查這些文件的文本格式,就會用到mysqlbinlog日志管理工具。

      參考資料:http://dev.mysql.com/doc/refman/6.0/en/mysqlbinlog.html

      表維護工具――mysqlcheck

      Mysqlcheck客戶端工具可以檢查和修復myisam表,還可以優化和分析表。實際上,它繼承了mysql工具中check、repair、analyze、optimize的功能。

      參考資料:http://dev.mysql.com/doc/refman/5.1/en/mysqlcheck.html

      數據導出工具――mysqldump

      Mysqldump客戶端工具用來備份數據庫或在不同數據庫之間進行數據遷移。備份內容包含創建表或裝載表的sql語句。

      參考資料:http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

      數據導入工具――mysqlimport

      Mysqlimport是客戶端導入工具,用於導入mysqldump加-T選項後導出的文本文件。

      參考資料:http://dev.mysql.com/doc/refman/5.1/en/mysqlimport.html

      表熱備份工具――mysqlhotcopy

      Mysqlhotcopy是一個perl腳本,它使用lock tables、flush tables、cp或scp來快速備份數據庫。僅限於在linux/unix下熱備份myisam數據表。

      參考資料:http://dev.mysql.com/doc/refman/5.1/en/mysqlhotcopy.html

      數據庫對象查看工具――mysqlshow

      Mysqlshow是客戶端對象查看工具,用來很快地查找存在哪些數據庫、數據庫中的表、表中的列或索引。

      參考資料:http://dev.mysql.com/doc/refman/5.1/en/mysqlshow.html

      錯誤代碼查看工具――perror

      在mysql使用過程中,可能會出現各種各樣的error,這些error有些是由於操作系統引起的,有些是由於存儲引擎使用不當引起的。這些error都有一個整型的錯誤代碼。Perror的作用是解釋這些錯誤代碼的詳細含義。

      參考資料:http://dev.mysql.com/doc/refman/5.0/en/perror.html

      文本替換工具――replace

      Replace是mysql自帶的一個對文件中的字符串進行替換的工具,類似於linux下的sed,不過他的使用更加簡單靈活。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved