現在、このブログがある さくらのVPS では、PHP 5.3系を使いたいのでremiレポジトリを有効にして、yumでアップデートなどを行っているのだけど、そこで発生したトラブルについてメモがてら。
昨日アップデートをしたら、大量のアップデートに混じってMySQLも5.1系から5.5系にバージョンアップされたらしく、起動しなくなっていた。MySQLのログを見ると、
[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=ujis'
[ERROR] Aborting
となって終了している。
MySQL MLの投稿
http://www.mysql.gr.jp/mysqlml/mysql/msg/15436
によると、5.5系では [mysqld] 内では default-character-set が利用できなくなっているとのことなので(ただし [client], [mysql], [mysqldump] では問題なく利用できている)、代わりに /etc/my.cnf に
character-set-server = ujis
と書いてやることで無事起動するようになった。
が、以下のようなエラーも吐かれていたので、こちらにも対処する。
[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
mysqld を起動しておいた状態で、
# mysql_upgrade -u root -p
として root パスワードを入力すると、データベースがチェックされ、問題なく全て OK となった。再起動後もエラーは出なくなったようだ。
そして、ここまでやった後に、下記サイト様を発見。
【MySQL】5.1から5.5へのアップグレード(rpmで)
http://www.softel.co.jp/blogs/tech/archives/2288
yumだったからか、私の場合は全く警告も出なかったけれど、データベースのダンプくらいは取っておくべきだったなと、今さらながらガクブル。ま、問題は出なかったから、よしとしよう。(mysqldumpしながら)