1) 執行常規的數據庫備份并允許更新日志。
2) 安排定期的常規表檢查。通過檢查表,將減少使用備份的機會。這個工作使用cron 作業(一般從運行服務器所使用的該賬號的crontab 文件中調用)并且很容易實現。例如,如果您作為mysqladm 用戶運行服務器,則可以從mysqladm 的crontab 文件中建立定期檢查。如果您不知道如何使用c r o n,應使用下列命令查看相關的UNIX 人工頁:
% man cron
% man crontab
3) 在服務器啟動前的系統引導期間檢查數據庫表。機器可能會因早期的崩潰重新啟動。如果是這樣的話,數據庫表可能已被毀壞,應該對它進行檢查。
為了運行自動的表檢查,可以編寫一個腳本,將目錄改變為服務器數據目錄并對所有數據庫表運行myisamchk 和i s a m c h k。我們將在下面討論的腳本中同時使用這兩個程序。如果您只有MyISAM 表或只有ISAM 表,則只需其中一個程序,可以將無關的那個程序從腳本中去除。
myisamchk 和isamchk 都根據表檢查的方式產生某些輸出結果以便了解正在檢查哪些表,甚至在沒有問題時也是如此。對于crontab 的項,除非表中有錯誤,否則通常將禁止輸出結果(如果作業產生任何輸出, cron 作業通常生成一個郵件消息,很少會收到沒有任何問題的表檢查作業的郵件)。如果用--silent 選項調用任一個實用程序,它僅當發現問題時才產生輸出。另外,myisamchk 支持--fast 選項,該選項允許程序跳過自上次檢查以來沒有被修改過的任何表。
在服務器數據目錄中檢查所有表的一個簡單的腳本如下( DATADIR 應該修改成對應您系統的值):
實用此腳本的一個潛在的問題是:如果有許多表,通配符模式‘ * / * . M Y I’或‘* / * . I S M’可能會由于“ too many arg um e n t s(過多的參數)”錯誤使外殼程序爆炸。另一個可選擇的腳本如下(同樣,將DATADIR 改變為對應您系統的值):
不論您選擇哪種形式的腳本,筆者都假定您調用的是c h e c k _ mysql_ tables,應確保及時改變該方式使它可執行,然后您手工調用它以驗證它工作是否正常:
% chmod +x check_mysql_tables
% chmod_mysql_tables
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com