MySQL 5.5.3-m3, 5.5.4-m3 同時リリース

 米サンタクララで開催中のMySQLカンファレンスに合わせてリリースされました。同時リリースになったのは InnoDB Plugin 1.1 を公開したかったからだと推測しています。
http://www.mysql.gr.jp/frame/modules/news/article.php?storyid=175


 MySQL 5.5.4-m3 は
   ・InnoDB Plugin がそれまでの 1.0.6 から 1.1 に変更された
   ・Linux x86_64 版しか公開されていない


 というくらいの話題に留めておいて、ここでは主に MySQL 5.5.3-m3 について。


MySQL 5.5.3 では非常に多くの変更がなされています。日本語的には以下のものが気になるところですね。
 - キャラクタセットとして、utf16 コードと utf32 追加。
 - キャラクタセットとして念願の 4バイトUTF-8 に対応(名称は utf8mb4)。
  ちなみに UTF-8 の 4バイト領域にはこんな文字があります。文字なんだか部品なんだか分からないようなものも多いですが(笑)。>http://www.mysql.gr.jp/frame/modules/bwiki/index.php?cmd=read&page=utf8_4
 - 日本語文字コード間の変換を高速化


面白そうな機能として、PERFORMANCE_SCHEMA が追加されたというのがあります。デフォルトでは無効になっているので、MySQLサーバ起動時に --performance_schema オプションを指定(というか my.cnf や my.ini に performance_schema を記述するな、私は)する必要があります。
INFORMATION_SCHEMA みたいな感じで、各種パフォーマンスに関する低レベルな実行情報をモニタリングできるもののようです。


あとは mysqlコマンドラインクライアントに追加された、auto-vertical-output オプション。 結果が画面出力幅に収まらない場合に自動的に \G を指定したかのような縦型出力をしてくれるというものです。 たぶん私は使わない。必要に応じて \G 指定するもん(笑)。


その他細かい事では、
 - dtoa ライブラリを使用することになったらしい。数字と文字の変換について LinuxWindows で結果が異なる場合があるとか書いてあって、ちょっとドキドキの変更です(どういうケースで変わるかは、追って調査したいと思います)。
 - SELECT t.* AS 'alias' FROM t という全カラムに対するエイリアスが書けなくなった。っていうかそもそも、こんな書き方ができていたんだ〜(^^;
 - SELECT 時を SQL_CACHE と SQL_NO_CACHE を両方指定してもエラーにならなかったけどエラーになるようになった(ちゃんとチェックするようになった)
 - INFORMATION_SCHEMA.ROUTINES に RETURNS に関する情報を格納するカラムが7つほど追加された



 そして大きいのが、「これまで非推奨とアナウンスされていた構文、変数、オプションなどを一気に削除した」というのが挙げられます。 私も実は MySQL 5.5.3-m3 が起動できずにしばらく悩んだのですが、サーバの "default-character-set" オプションが廃止になっているんですよ。 character-set-server を使用します。 さらに mysql クライアントのオプションとしては character-set-client ではなく default-character-set のままなので注意が必要です。



 後ほどエントリをあらためて、廃止になったものたちについてまとめたいと思います。