違法網站請勿向我司工作人員發起任何形式的人工服務請求,嚴禁利用鴻茂傳媒技術支持服務與產品從事任何非法活動,如有發現不再提供任何技術支持。 ×

運維技術服務

響應時間:10分鐘

問題處理方式:1對1人工技術服務

工作時間:周一至周六 8:30-22:00

業務範圍:

網站開發 小程式開發 discuz運維

寶塔運維 網站運維 ssl證書

運維技術為您解決疑難問題

搜索一下

推薦

寶塔linux專業版

包含web應用防火牆、網站監控報表和異常監控推送等13款價值3500多元的專業版插件。

  • 寶塔系統加固
  • 網站防篡改程式
  • nginx防火牆
  • 網站監控報表
廣告

[mysql] 怎樣使用mysqlcheck來檢查和修復, 優化表

下面的例子都是基於MySQL 5.6版本運行狀態下(mysqlcheck是一個在線工具),不同的存儲引用對於這個命令的支持程度不同(指的是check,repair,analyze,optimize),下面的內容偏向於操作,主要是基於innodb的引用

提示:OPTIMIZE在大表的時候可能會消耗很多時間,在不清楚原理的情況下請儘量使用.

检查特定的表

注意在shell中執行,而不是在mysql的交互環境下

如果应用中提示某个表坏了,使用下面的命令来检查。

$mysqlcheck-c newmankind order-uroot-p

輸入密碼:

newmandela.order 好

newman是用戶名,order是表名,還需要輸入用戶名和密碼

检查一个库中的所有表

$mysqlcheck-c newmanner-uroot-p

輸入密碼:

newmandela.account 好

newmandela.alarm 好

newmandez. alarm_sets 好

newmandez.auth_group 好

newmandez.auth_group_permissions 好

newmandez.auth_permit 好

...

检查所有库中的所有表

全部的库和表都检查一遍了。

$mysqlcheck-c--all-databases-uroot-p

輸入密碼:

apmonitor.acinfo 好

apmonitor.apdailysts 好

apmonitor.apinfo 好

apmonitor.apmonthsts 好

apmonitor.apscanlog 好

apmonitor. auth_group 好

...

如果只想檢查某幾個庫呢?可以使用-databases參數

$mysqlcheck-c--資料庫newmanswer radius-uroot-p

輸入密碼:

newmandela.account 好

newmandela.alarm 好

newmandez. alarm_sets 好

newmandez.auth_group 好

...

使用mysqlcheck分析表

$mysqlcheck-半徑支付_transactionrecord-uroot-p

輸入密碼:

radius. payment_transactionRecord 表格已更新

上面的命令用於分析radius庫的payment_transactionrecord表,-a表示分析

使用mysqlcheck優化表

#mysqlcheck-o radius payment_transactionrecord-uroot-p

輸入密碼:

radius. payment_transactionRecord 好

- o代表優化,這裡是優化半徑庫的payment_transactionrecord表

使用mysqlcheck修復表

#mysqlcheck-r radius payment_transactionrecord-uroot-p

輸入密碼:

radius. payment_transactionRecord 好

- r代表修復,這裡是修復半徑庫的payment_transactionrecord表

检查,优化,修复表组合命令

#mysqlcheck-uroot-p--auto-repair-c-o newmandezes

錯誤:mysqlcheck不支持多個相互矛盾的命令。'

上面的命令報錯了,刪除-c

#mysqlcheck-uroot-p--auto-repair-o newmanswer

輸入密碼:

newmandela.account

注意 :表不支持優化,改為重新創建+分析

地位 :好的

newmandela.alarm

注意 :表不支持優化,改為重新創建+分析

地位 :好的

newmandez. alarm_sets

注意 :表不支持優化,改為重新創建+分析

地位 :好的

每張表都出現了表不支持優化,而是做recreate+分析,代表什麼意思?它的意思並不是說innodb導致不支持優化,可以參考www.example.com的答案。

mysqlcheck常用選項

A,-all-datases表示所有庫

- a,-分析分析表

- o,-optimize優化表

- r,-repair修復表錯誤

- c,-check檢查表是否出錯

- auto-repair自動修復損壞的表

- B,-datases選擇多個庫

-1,-all-in-1每個資料庫使用一個查詢,表以逗號分隔的方式列出

- C,-check-only-changed檢查表最後一次檢查之後的變化

- g,-check-upper檢查表中是否有與版本相關的更改

- F,-fast檢查未正確關閉的表格

- fix-db-names修復DB名稱

- fix-table-names修復表名

- f,-force即使出現錯誤也繼續

- e,-extended對表執行擴展檢查。這將需要很長時間才能執行。

- m,-medium-check比擴展檢查選項更快,但可以進行大多數檢查

- q,-quick快於中等檢查選項

🎯 手機微信掃一掃

立即在小程式繼續閱讀

© 網站版權與免責聲明

1、【鴻茂傳媒】獨立擁有本網站相關網頁內所有資料的版權;

2、未經【鴻茂傳媒】的明確書面許可,任何人不得對其進行複製;

3、本網站未註明【鴻茂傳媒】的文章,均來源於網絡,僅供大家學習與參考;

4、如有侵權/違規/不妥請聯繫客服qq或郵箱刪除,敬請諒解;

5、【鴻茂傳媒】保留隨時更正、修改、更新本聲明的權利。法律申明

近期,想定製開發一個小程式/網站/託管運維服務?
提交需求
工作日: 8:30 - 22:00  在線qq客服

掃碼諮詢微信客服

鴻茂傳媒企業居間
頂部