昨日MySQLをアップグレードしたんですが、いろいろすったもんだした挙句、無事に動いていると思っていました。
しかし、ログをよく確認すると以下のようなログが。。。
110420 21:20:14 [ERROR] Column count of mysql. proc is wrong. Expected 20, found 16. Created with MySQL 50044, now running 50511. Please use mysql_upgrade to fix this error.
どうやら問題があるので mysql_upgrade をしてね。ということらしい。
mysql_upgrade とは?
MySQLのリファレンスに以下のようなページがありました。
MySQL のアップグレードでは、その度に、mysql_upgrade を実行します。これにより、データベース内のテーブルにおける最新の MySQL Server との互換性をチェックすることができます。該当テーブルが非互換の場合は、チェックの対象になり、問題があれば、そのテーブルを修正します。mysql_upgrade コマンドは、システム テーブルのアップグレードも行うため、新たな権限と追加機能を使用できるようになります。
MySQLをアップグレードしたら、mysql_upgradeをしてね。だそうです。知らんかった。
mysql_upgrade のやり方
mysqld が起動している状態で以下のコマンドを実行する。
mysql_upgrade -u root -p
-p はパスワードプロンプトを出してねという意味なので、環境に応じて。
というわけで、エラーログもでなくなりました。