|
MySQL 5.5.24 リリースノート (日本語翻訳)
機能の追加と変更
・ 重要な変更 : レプリケーション : INSERTONDUPLICATEKEYUPDATE は現在、ターゲットテーブルに複数のプライマリキーまたはユニークキーがある場合に、ステートメントベースのレプリケーションには安全でないとマークされる。詳細については、 16.1.2.3項「DeterminationofSafeandUnsafeStatementsinBinaryLogging」 を参照(Bug#58637、Bug#11765650、Bug#13038678)。
修正されたバグ
・ セキュリティ修正 :Bug#64884が修正された。
・ InnoDB : レプリケーション :スレーブでバイナリログステートメントが再実行される際、 Com_insert 、 Com_update 、 Com_delete の各カウンタはトランザクション終了の COMMIT ステートメントではなく、 InnoDB テーブルに影響するトランザクション開始の BEGIN ステートメントによって増分されていた。そのため、これらのステートメントが複製されるのか mysqlbinlog を使用して実行されるのかの判定が影響を受けていた(Bug#12662190)。
・ InnoDB : auto_increment_offset=1 で auto_increment_increment が1より大きく、 innodb_autoinc_lock_mode=1 の場合に、サーバに対して同時に大量の挿入を実行すると、プライマリキーをauto_incrementに設定し、 INSERT ステートメントから除外している場合でも、断続的に次のようなエラーが発生する可能性があった。
・Duplicateentry' value 'forkey'PRIMARY'
回避策として、 auto_increment_offset=1 または innodb_autoinc_lock_mode=0 ("従来式")に設定していた(Bug#13817703、Bug#61209)。
・ --bind-address オプションの値にホスト名を指定し、そのホスト名が複数のIPアドレスに解決される場合、サーバが起動に失敗していた。たとえば --bind-address=localhost で、localhostが 127.0.0.1 と ::1 に解決されると、起動に失敗した。現在、このような場合にサーバはIPv4アドレスを参照する(Bug#61713、Bug#12762885)。
・ mysql_store_result() と mysql_use_result() は、プリペアドステートメントでは使用されず、 mysql_stmt_execute() に続いて呼び出されることは想定されていないが、 libmysqld でそのように呼び出された場合でもエラーを返さなかった(Bug#62136、Bug#13738989)。
参考:Bug#47485も参照。
・ Windowsで共有メモリを使用した接続を試みると、 mysqlslap がクラッシュした(Bug#31173、Bug#11747181、Bug#59107、Bug#11766072)。