Checking for tables which need an upgrade, are corrupt or were not closed cleanlyのメッセージは気にしない

DebianでMySQLを操作したり、アップグレードがあると、

[ ok ] Stopping MySQL database server: mysqld.
[ ok ] Starting MySQL database server: mysqld ..
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..

のようにアラートが表示される。

何かしなければと考えがちだが、このメッセージを表示しているのは、/etc/mysql/debian-startのシェルスクリプトである。以下該当部分。

echo "Checking for tables which need an upgrade, are corrupt or were "
echo "not closed cleanly."
(
  upgrade_system_tables_if_necessary;
  check_root_accounts;
  check_for_crashed_tables;
) >&2 &

単にechoしてるだけ。MySQLのアップグレード時はこのechoに続く3つの関数が実行されるが、通常の起動、再起動時は実行されない。このスクリプトの冒頭に、

# This script is executed by "/etc/init.d/mysql" on every (re)start.

と記載されており、スクリプトを追ってみると確かにstartもしくはrestartを実行するればこのメッセージが表示されるようになっている。つまり実行時メッセージだと考えればよく、気にしないのが正解。

逆に、このメッセージが表示されない場合は、別のmysqlが起動している状態。pidfileのプロセスが動いている場合はこのルーチンをパスするようになっている。