Mysql自帶工具使用介紹

      1、mysql

       mysql的功能和Oracle的sqlplus一樣,它爲用戶提供一個命令行接口來管理Mysql服務器。

       2、 mysqladmin

       mysqladmin顧名思義,提供的功能都是與mysql管理相關的各種功能。如mysql server狀態檢查,各種統計信息的flush,創建/刪除數據庫,關閉Mysqlserver等。mysqladmin所能做的事情,雖然大部分可以通過mysql連接登錄Mysqlserver之後來完成,但是通過mysqladmin來完成操作更簡單方便。

 

  1. [root@jesse mysql]# /usr/local/mysql/bin/mysqladmin -u mysql -p123 -h localhost ping  
  2. mysqld is alive 

 

  1. [root@jesse mysql]# /usr/local/mysql/bin/mysqladmin -u mysql -p123 -h localhost status       
  2. Uptime: 30611  Threads: 1  Questions: 77  Slow queries: 0  Opens: 19  Flush tables: 1  Open tables: 10  Queries per second avg: 0.2 

 

  1. [root@jesse mysql]# /usr/local/mysql/bin/mysqladmin -u mysql -p123 -h localhost processlist  
  2. +----+-------+-----------+----+---------+------+-------+------------------+  
  3. | Id | User  | Host      | db | Command | Time | State | Info             |  
  4. +----+-------+-----------+----+---------+------+-------+------------------+  
  5. | 21 | mysql | localhost |    | Query   | 0    |       | show processlist |  
  6. +----+-------+-----------+----+---------+------+-------+------------------+ 

       上面三個簡單的例子,雖然得到的信息很有限,但是對於完成一些基本的監控來說,已經足夠了,此外還可以通過mysqladmin 來調用 START SLAVE 和STOP SLAVE命令來維護Repilication ,以及KILL命令來終止某個連接到mysql server的線程,等等。

      3、mysqldump

       mysqldump 工具其功能就是將mysqlserver 中的數據以QUERY語句的形式導出(dump)成文本文件。雖然mysqldump是作爲一種邏輯備份工具爲大家所認識,但是稱它爲QUERY生成導出工具更合適一點,因爲通過mysqldump所生成的文件,全部是QUERY語句,包括數據庫和表的創建語句。通過給mysqldump程序加-T選項參數,可以生成其它指定格式的文本文件,這項功能實際上是調用mysql中的“select * into OUTFILE from ...”語句實現的,也可以通過“-d --no-data” 僅僅生成結構創建的語句,當生成QUERY語句的時候,字符集設置這一項比較關鍵,建議每次執行Mysqldump程序的時候都通過儘量做到 “-default-charseter-set=name”顯式指定字符集內容,防止以錯誤的字符集生成不可用的內容,mysqldump所生成的SQL文件可以通過mysql工具執行。

      4、mysqlimport

         mysqlimport 程序將以特定格式存放的文本數據導入指定的mysqlserver中,比如將一個標準的csv文件導入指定數據庫的指定表中。mysqlimport工具實際上只是“LOAD DATA INFILE” 命令的一個包裝實現。

      5、mysqlbinlog

     mysqlbinlog 程序的主要功能就是分析mysqlserver所產生的二進制日誌即binlog,當我們希望通過之前備份的binlog做一些時間之類的恢復時,mysqlbinlog可以幫助找出恢復操作須要做哪些事情。通過mysqlbinlog,可以把binlog中指定時間段或指定日誌起始和結束位置的內容解釋成query語句,並導出到指定的文件中,在解釋的過程中,還可以通過指定數據庫名稱來過濾輸出內容。

     6、mysqlcheck

      mysqlcheck工具程序可以檢查、修復、分析和優化mysql server中的表,但並不是所有的存儲引擎都支持這四項功能,像Innodb就不支持修復功能。實際上,mysqlcheck程序的四項功能都可以通過mysql連接到mysql server之後來實現。

     7、myisamchk

       myisamchk的功能有點類似“mysql -c/-r”,可以檢查和修復MyISAM存儲引擎的表,但只對myisam存儲引擎的索引文件有效,不用登陸mysqlserver即可完成操作。

     8、myisampack

      對myisam表進行壓縮處理,以縮減佔用的存儲空間,一般主要用在歸檔備份的場景下,而且壓縮後的myisam表會變成只讀,不能進行任何修改操作。當我們歸檔備份某些歷史數據表,希望該表能夠提供高效的查詢服務時,就可以通過myisam工具對myIsam表進行壓縮。素

    雖然更換成archive存儲引擎也能夠將變成只讀的壓縮表,但是archive表是不支持索引的,而壓縮後的myisam表任然可以使用其索引。

    9、mysqlhotcopy

       mysqlhotcopy 和其他的客戶端工具程序不太一樣的地方是,它不是C/C++程序編寫的,而是一個perl腳本程序,僅能在unix/linux 壞境下使用。主要功能是對mysql中的myisam存儲引擎的表進行在線備份操作,其備份操作實際上就是通過數據庫中的表進行加鎖,然後複製其結構,數據和索引文件來完成的,也可以通過指定“-noindices”告訴mysqlhotcopy不須要備份索引文件。

    10、其他工具

     除了上面介紹的這些工具以外,mysql還自帶了其他大量的工具程序,如針對離線Innodb文件做checksum的innochecksum,轉換mSQL C API函數的msql2mysql ,dumpMyIsam全文索引的myisam_ftdump,分析處理slowlog的mysqldumpslow,查詢mysql相關開發包位置和include文件位置的Mysql_config,向mysql_ab報告Bug的mysqlbug,測試套件Mysqltest和mysql_client_test,批量修改表存儲引擎類型的mysql_convert_table_format ,從更新日誌中提取給定匹配規則的query語句的mysql_find_rows,更改myisam存儲引擎表後綴名得Mysql_fix_extensions,修復系統表的Mysql_fix_privilege_tables,查看數據庫相關對象結構的Mysqlshow,mysql升級工具mysql_upgrade,通過給定匹配模式來中止客戶端連接線程的Mysql_zap,查看錯誤信息的perror,文本替換工具replace等一系列工具程序可供我們使用,如果你希望在mysql源代碼的基礎上做一些自己的修改,如修改mysisam存儲引擎的時候,可以利用Myisamlog來進行跟蹤分析Myisam的log.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章