2009-08-11 56 views
1

我有一個很大的數據庫(大約10 GB,帶有一個20 GB的innodb緩衝池)數據庫,並且已經注意到,當我啓動它時,大約在運行的前半個小時內,數據庫將定期鎖定和解鎖所有表,對於在數據庫重新啓動後的前半小時嘗試訪問我們的網站的用戶而言,這是非常不愉快的。啓動mysql時是否需要運行mysqlcheck?

雖然我不能100%確定的因果關係,我注意到,該數據庫鎖定和解鎖本身的時間與時間一致的是

/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf --all-databases --fast --silent 

perl -e $_=join("", <>); s/^[^\n]+\n(error|note)\s+: The (handler|storage engine) for the table doesn.t support check\n//smg;print; 
我的數據庫服務器上正在運行

。我的問題是在啓動Mysql時是否真的有必要運行mysqlcheck(默認情況下是在mysql /etc/init.d/mysql腳本中)?我在mysqlcheck上找到的Google搜索結果表明它「修復了&優化」表格,但我不希望我的表格被破壞,我對此實用程序提供的優化優勢持懷疑態度。

如果它的事項,我運行MySQL 5.0.32

回答

3

這是一個 'debian' 的功能,他們從股票MySQL的修改。它旨在阻止人們進入MyISAM表損壞的問題。既然你在使用InnoDB,我建議你刪除它。我相信它是init.d腳本的一部分,所以你可以編輯它來刪除它。

+0

好消息!感謝您及時的回覆! – wbharding 2009-08-11 17:46:06

相關問題