|
MySQL 5.5.18 リリースノート (日本語翻訳)
機能の追加と変更
・ AdvancedGPL RPMパッケージから Advanced RPMパッケージへのアップグレードが機能しなかった。Linuxでは現在、 rpm-U を使用して、インストール済みのMySQL製品を同じリリースファミリの別製品に置き換えることが可能になり、先に rpm-e を使用して旧製品を削除する必要はなくなった(Bug#11886309)。
修正されたバグ
・ パフォーマンス : InnoDB ストレージエンジン :停止中または以下のステートメントでAHIをオフにするときに、 InnoDB の 適応ハッシュインデックス を割り当て解除するプロセスが高速になった。
SETGLOBALinnodb_adaptive_hash_index=OFF;
(Bug#13006367、Bug#62487)
・ 矛盾を含む可能性がある変更 : レプリケーション :以下に挙げるステートメントは、ステートメントベースのレプリケーションに対してアンセーフとマークされるようになった。これは、これらのステートメントが常に順序を決定できるとは限らない SELECT ステートメントの結果に依存するためである。 STATEMENT ログモードを使用する場合は、このようなステートメントに対してバイナリログで警告が発生し、 MIXED ログモードを使用する場合は、行ベース形式を使用してステートメントがログに記録される。
o INSERT...SELECT ...ONDUPLICATEKEYUPDATE
アップグレードする際には、アプリケーションにおけるこれらのステートメントの使用状況を確認し、 SELECT から取得される行を挿入または置換するステートメントは、ステートメント自体だけを記録するときより、行ベース形式を使用してログを記録するときの方が、バイナリログで何倍ものスペースを占めることに注意することが必要である。これらのステートメントによって選択および挿入(または置換)される行の数とサイズによっては、ステートメントのログをステートメントベースから行ベースに切り替えた後のバイナリログのサイズの違いは、何桁も異なる可能性がある。 15.1.2.1項「AdvantagesandDisadvantagesofStatement-BasedandRow-BasedReplication」 を参照(Bug#11758262、Bug#50439)。
§ InnoDB ストレージエンジン : gcc 4.6.1の InnoDB ソースコードに影響するコンパイルの問題が修正された。影響を受ける InnoDB ソースファイルは、btr/btr0cur.cだった(Bug#13116045)。
§ InnoDB ストレージエンジン : InnoDB テーブルへの UPDATE ステートメントがハングする可能性があった。この問題は、 Barracuda ファイル形式を使用し、 カラムプリフィックス に複数のインデックスを持つテーブルに影響する。カラムプリフィックスの合計サイズがページサイズ(通常は16KB)より小さい場合でも、 UNDOログ レコードのサイズが ページサイズ を超える可能性があった。MySQL5.5以降では、このエラーが新しいコード ER_UNDO_RECORD_TOO_BIG で報告されるようになっている。InnoDBプラグインを使用するMySQL5.1の場合、このエラーは既存のコード ER_TOO_BIG_ROWSIZE で報告される(Bug#12547647)。
§ レプリケーション :マスタ上のバイナリログディスクがいっぱいになった後で、レプリケーションマスタは不完全なイベントをスレーブに送信する可能性があった。この問題を修正するために、現在は完全なイベントのみがマスタダンプスレッドによってスレーブI/Oスレッドにプッシュされるようになっている。また、不完全なイベントが検出されたときにマスタがスレーブに送信するエラーテキストには、マスタでディスクスペースが不足したためにイベントが不完全になったことが記載され、最初と最後のイベントの読み込みバイトの座標が示される(Bug#11747416、Bug#32228)。
参考:Bug#64035、Bug#13593869も参照。
§テーブルを開くプロセス中に、ビューを使用しないステートメントの場合でも、ビューのロードを必要とするメモリが割り当てられ、後から解放されていた。このような不要な割り当てと解放は現在行われなくなっている(Bug#13116518)。
§状況によっては、 mysql_plugin が --plugin-ini 、 --mysqld 、 --my-print-defaults の各オプションを誤って処理した(Bug#12968815)。
§ mysql_plugin は、エラーになったサーバの再起動から誤ったエラーコードを返していた(Bug#12968567)。
§MySQLのディストリビューションにバンドルされている libedit ライブラリに対して以下の点が改善され、Windowsを除き、MySQLでサポートされるすべてのプラットフォームで利用できるようになった。
oUTF-8入力に対して移動キーが機能しなかった。
oキリル文字を使用するUTF-8入力に対して、Wordの移動キーと削除操作が機能しなかった。
oUTF-8入力の上書きモードで非ラテン系文字が文字化けした。
o長いクエリが原因で、ステートメント履歴ファイルが破損した。
oAltキーを使用すると履歴操作が失敗した。
(Bug#12605400、Bug#12613725、Bug#12618092、Bug#12624155、Bug#12617651、Bug#12605388)
§ ARCHIVE テーブルに NULL カラムがあると、同時負荷がかかる際にサーバがクラッシュする、または破損する可能性があった(Bug#51252、Bug#11758979)。
§ myisam_use_mmap が有効な場合に、 OPTIMIZETABLE によって MyISAM テーブルが破損する可能性があった(Bug#49030、Bug#11757032)。
§ GROUP_CONCAT() 関数の結果を選択したクエリは、その関数結果の ORDERBY が存在するかどうかによって、異なる値を返す可能性があった(Bug#41090、Bug#11750518)。
§ FEDERATED テーブルで、一部の挿入操作中にリモートテーブルへの接続が失われ、サーバがクラッシュする可能性があった(Bug#34660、Bug#11747970)。