1:介面工具
介面工具可以協助執行查詢,建立表和使用者,以及執行其它日常任務等。
MySQL Workbench
MySQL Workbench是一個一站式的工具,可以完成例如:管理伺服器,寫查詢,開發儲存體過程,以及Schema設計圖相關的工作。可以通過一個外掛程式介面來編寫自己的工具並整合到這個工作平台上,有一些Python指令碼和庫就使用了這個外掛程式介面。MySQL Workbench有社區版和商業版兩個版本,商業版只是增加了其它一些進階特性。免費版對於大部分需要已經足夠了。參考:http://www.mysql.com/products/workbench/
SQLyog
SQLyog是MySQL最流行的視覺化檢視之一,有許多很好的特性。它與MySQL Workbench是同層級的工具,但兩個工具都有一些對方沒有的特性。SQLyog只能在Windows下使用,擁有全部特性的版本需要付費。參考:https://www.webyog.com/
phpMyAdmin
phpMyAdmin是一個流行的管理工具,運行在Web伺服器上,並且提供基於瀏覽器的MySQL伺服器提供者。儘管基於瀏覽器的訪問有時很好,但phpMyAdmin是一個大而複雜的工具,曾被指責有許多安全的問題。對此要格外小心。建議不要安裝在任何可以從互連網訪問的地方。參考:http://sourceforge.net/projects/phpmyadmin/
Adminer
Adminer是個基於瀏覽器的安全的輕量級管理工具,它與phpMyAdmin同類。其開發人員將其定位為phpMyAdmin的更好的替代品。儘管它看起來更安全,但仍建議安裝在任何可公開訪問的地方時要謹慎。參考:http://www.adminer.org/
2:命令列工具集
MySQL包含了一些命令列工具集,例如mysqladmin和mysqlcheck。這些在MySQL手冊上都有提及和記錄。MySQL社區同樣建立了大量高品質的工具包,並有很好的文檔支撐這些工具 + 生產力集。
Percona Toolkit
Percona Toolkit是MySQL管理員必備的工具包。其包括許多針對類似日誌分析,複製完整性,資料同步,模式和索引分析,查詢建議和資料歸檔目的的工具。如果剛開始接觸MySQL,建議首先學習這些關鍵的工具:pt-mysql-summary,pt-table-checksum,pt-table-sync和pt-query-digest。參考:http://www.percona.com/software/
The openark kit
Shlomi Noach的openark kithttp://code.openark.org/forge/openark-kit)包含了可以用來做一系列管理工作的Python指令碼。
Innotop
它展示了伺服器正在發生事情的即時更新視圖。可顯示事務列表,正在啟動並執行查詢,當前鎖和鎖等待的列表,伺服器狀態和變數的匯總等等。極具可配置性和可擴充性。
3:SQL實用集
伺服器本身也內建有一系列免費的附加組件和實用集可以使用;其中一些確實相當強大。
common_schema
Shlomi Noach的common_schema項目(http://code.openark.org/forge/common_schema)是一套針對伺服器指令碼化和管理的強大的代碼和視圖。common_schema對於MySQL好比jQuery對於JavaScript。
mysql-sr-lib
Giuseppe Maxia為MySQL建立了一個預存程序的程式碼程式庫。參考:http://www.nongnu.org/mysql-sr-lib/
MySQL UDF倉庫
Roland Bouman建立了一個MySQL自訂函數的收藏庫。參考:http://www.mysqludf.org
MySQL Forge
在MySQL Forge上(http://forge.mysql.com),可以找到上百個社區貢獻的程式,指令碼,程式碼片段,實用集和技巧以及陷阱。
4:監測工具
兩種類型的監測工具:1):健康監測工具監測到異常時警示)
2):為趨勢,診斷,問題排查,容量規劃等記錄指標的工具
大多數系統僅在這些任務中的一個方面做得很好,而不能兩者兼顧。
4.1:開源的監控工具
Nagios
Nagios(http://www.nagios.org)也許是開源世界中最流行的問題檢測和警示系統。
Zabbix
Zabbix是一個同時支援監控和指標收集的完整系統。例如:它將所有配置和其它資料存放區到資料庫而不是設定檔中。它儲存了比Nagios更多的資料類型,因而可以得到更好的趨勢和曆史報表。其網路畫圖和可視能力也比Nagios更強,配置更簡單,更靈活,且更具有可擴充性。參考:http://www.zabbix.com
Zenoss
Zenoss是用Python寫的,擁有一個基於瀏覽器的使用者介面,使用Ajax,這使它更快,更高效。它可以自動探索網路上的資源,並將監控,警示,趨勢,繪圖和記錄曆史資料整合到了一個統一的工具中。Zenoss預設使用SNMP來從遠程伺服器上收集資料,但也可以使用SSH,並且支援Nagios外掛程式。參考:http://www.zenoss.com
Hyperic HQ
Hyperic HQ是一個基於java的監控系統,比起同層級的其它的大部分系統,它更稱的上市企業級監控。參考:http://www.hyperic.com
OpenNMS
OpenNMS 也是java開發,有一個活躍的開發社區。它擁有常規的特性,例如監控和警示,但同樣也增加了繪圖和趨勢功能。它的目標是:高效能,可擴充,自動化和靈活。參考:http://www.opennms.org
Groundwork Open Source
Groundwork Open Source用一個可移植的介面把Nagios和其它幾個工具整合到一個系統中。參考:
http://www.gwos.com
相比於集所有功能於一身的系統,還有一系列的軟體專註於收集指標和畫圖以及可視化,而不是進行效能監控檢查。他們中有很多是建立在RRDTool(http://www.rrdtool.org)之上,儲存時序資料到輪詢資料庫(RRD)檔案中。RRD檔案自動聚集輸入資料,對沒有預期傳送的輸入值進行插值,並有強大的繪圖工具可以產生漂亮又特色的圖。
MRTG
MRTG是典型的基於RRDTool對的系統。最初是為記錄網路流量設計的,但同樣可以擴充到用於對其它指標進行記錄和繪圖。參考:http://oss.oetiker.ch/mrtg/
Cacti
Cacti可能是最流行的基於RRDTool的系統。它採用PHP網頁來與RRDTool進行互動,並使用MySQL資料庫來定義伺服器,外掛程式,映像等。因為是模板驅動,故而可以定義模板然後應用到系統上。Baron為MySQL和其它系統寫了一組非常流行的模板;更多資訊請參考:http://code.google.com/p/mysql-cacti-templates/。這些也已經一直到OpenNMS,Zabbix,Munin.
Munin
Munin收集資料並存入RRDTool中,然後以幾個不同層級的粒度產生資料圖。參考:http://munin.projects.linpro.no
4.2:商業監控系統
MySQL Enterprise Monitor
它將監控,指標和畫圖,諮詢服務和查詢分析等特性整合到了一個工具中。通過在伺服器上使用agent來檢測狀態計數器。參考:http://www.mysql.com/products/enterprise/monitor.html。
MoNyog
是一個運行在案頭上的基於瀏覽器且無agent的監控系統。它會啟動一個HTTP伺服器,然後就可以通過瀏覽器來使用此工具。參考:http://www.webyog.com。
Splunk
是一個日誌聚集器和搜尋引擎,可以協助獲得環境中所有機器生產的資料並進行運營分析。參考:
http://www.splunk.com。
Pingdom
是一個從世界的多個位置來監控網站的可用性和效能。實際上有許多像Pingdom一樣的服務,我們並不需要精選一個這樣的服務,但是我們確實建議使用一些外部的監控服務,以便你在網站不可用時能夠及時得到通知。參考:http://www.pingdom.com。
等等
本文出自 “Focus on the database” 部落格,請務必保留此出處http://lgdvsehome.blog.51cto.com/3360656/1229459