當發現網站運作的速度越來越慢, 主要原因應該是資料越來越多, Database 也開太多,所以要來為所有 DB 做 Optimize 和 Repair 的動作.
在 Mysql 5 以上就有提供 mysqlcheck 這樣功能的程式可以用 ~~ 用法如下:
/usr/bin/mysqlcheck -opr -uroot -p --databases discuz
輸入密碼之後就可以最佳化 discuz 的資料庫
如果要最佳化所有的資料庫...可以使用底下語法:
/usr/bin/mysqlcheck -acor -uroot -p --all-database
# 此命令就可以 Check 所有 MyISAM 的 Table, 非 MyISAM 會出現 "Table does not support optimize, doing recreate + analyze instead" 自動略過
-a = Analyse given tables.
-c = Check table for errors
-o = Optimise table
-r = Can fix almost anything except unique keys that aren't unique
如果要最佳化所有的資料庫...並且自動代入MySQL密碼...可以使用底下語法:
/usr/bin/mysqlcheck -acor -uroot --password='12345678' --all-database
再來就可以使用自動排程下去執行囉~~