2011/11/03

MySQL を 5.5 にアップデートしたら起動しなくなっちまった


CentOS 5にインストールした MySQL を 5.0.67 から 5.5.17 にアップデートしたら起動しなくなったので解決方法をメモ。
(いきなりバージョン飛ばし過ぎというツッコミはおいておいて・・・)

まずは基本、mysql.log を確認。
111102 23:44:11 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
111102 23:44:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
だそうで。
とりあえず言われた通りに mysql_upgrade してみるけどサーバに接続できないと怒られる。だからそのサーバが起動しないんだって!

試行錯誤の結果、 my.cnf の設定が原因であることが判明。
サーバの文字コード設定が default-character-set から character-set-server に変更されています。
実はこの変更は MySQL 5.0 からされていたようですが(知らなかった・・・汗)、MySQL 5.5.3 で非推奨のパラメータが全て廃止された(エラーになるようになった)ために起動しなくなったのでした。

下記のブログが参考になりました。MySQL 5.5.3 での主な変更点がまとめられています。

「え? そこ?」 という感じだが、サーバの文字コード指定の記述を修正したら mysqld_safe が起動するようになった。ついでに FADERATED エンジンも使わないので無効にしておく。
[mysqld]
character-set-server=utf8
skip-federated
その後、mysql_upgrade を実行し、セーフブートから通常の起動に変更して無事にアップデート完了。

ちなみに、アップデート後に my.cnf のサーバ文字コードの設定の記述を default-character-set に戻して mysqld を起動してみたら、ログには以下のようなエラーが出力された。

111103  0:19:50 [ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
111103  0:19:50 [ERROR] Aborting
今度はちゃんと設定がおかしい旨のメッセージが出力されている。

テーブルのアップグレードチェックでエラーとなった場合は、default-character-set に関するエラーメッセージが出力されずに mysqld がシャットダウンしてしまうようなので要注意です。

(2011/11/11:追記)
MySQL 5.5.3-m3 で廃止された変数やオプションは default-character-set だけではありません。
その他の廃止された変数やオプションを指定している場合は、これらも対応しなければなりません。

下記のブログで廃止になった変数とオプションがまとめられています。

[mysql]MySQL 5.5.3-m3 で廃止になった変数やオプションなどを整理しました

2011/11/02

Mac のキーボード操作に慣れない・・・

Mac を使い始めて3ヶ月くらい絶つけれど、いまだにキーボード操作に馴染めない・・・
Mac のキーボード操作での主な不満点。
  • コマンドキーが遠い。Ctrl キー系の操作になれているので、やはりこちらの方がよい。
  • 上記に関連するが、Ctrl + カーソル移動キーで単語移動してくれない。というか、デスクトップが切り替わるので鬱陶しい。
    Option + カーソル移動キーで単語移動するけど、Option キーもこれまた遠いし小さい。
  • ターミナルでコマンドキーがメタキーになってくれない。
    emacs 使いとしては致命的。編集中にコピーリージョンを指定しようとして command + w をタイプすると、ウィンドウが閉じてしまい、全ての編集が水泡に帰す。 orz。
  • 外部キーボード(ELECOMのTK-FBP014。Apple用のASCII配列 Bluetooth キーボード)のキー配列がこれまた違う。
    ASCII配列であるのはOKだけど、補助キーの配置が全く異なってる上に小さい。というか、スペースバー長すぎない?
などなど。

キーボードをカスタマイズしてしまうと他の標準的なマシンを触れなくなってしまうので控えていたのだけれど、注意力が散漫になってしまって生産性が悪いので、あきらめてカスタマイズすることにしよう。

少し調べたら KeyRemap4 MacBook というソフトが便利そうなのでこれを試そう。
補助キーがボトルネックなので、少なくとも普段の操作でこれらのキーを使わなくても良いようにしないと効率が悪いが、そうなるともはや Mac ではなくなるな・・・笑