私は大容量(約10GBと20GBのinnodbバッファプール)のデータベースを持っており、起動すると約30分前にデータベースが定期的にすべてのテーブルをロックしてロックを解除し、データベースを再起動してから最初の30分に私たちのサイトにアクセスしようとするユーザーにとっては、かなり不愉快です。mysqlを起動するときにmysqlcheckを実行する必要がありますか?
Iは、因果関係の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
優秀なニュース!早速のご返事ありがとうございます! – wbharding