2016.12.28

MySQL

MySQL Community Server 5.5.54がリリースされました

オリジナル版:http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-54.html

2016年12月12日に、MySQL 5.5.54がリリースされました。同製品は、General Availability(GA版)となります。

 Changes in MySQL 5.5.54(主な変更点)

 Security Notes(セキュリティ関連)

     * Incompatible Change: These changes were made to
       mysqld_safe:
       
      【非互換の変更】 
       以下の変更が、mysqld_safeに適用されています。

          + Unsafe use of rm and chown in mysqld_safe could
            result in privilege escalation. chown now can be
            used only when the target directory is /var/log. An
            incompatible change is that if the directory for the
            Unix socket file is missing, it is no longer
            created; instead, an error occurs. Due to these
            changes, /bin/bash is required to run mysqld_safe on
            Solaris. /bin/sh is still used on other Unix/Linux
            platforms.
            
            mysqld_safeでrmとchownコマンドを安全(適切)に使用しないと、
            権限エスカレーションが発生してしまいます。
            chownコマンドは/var/logディレクトリにのみ使用できます。
            もしディレクトリにUnixソケットファイルがない場合、暗黙で作成されることなく
            代わりにエラーが発生するようになり、この挙動が非互換となります。
            これらの変更により、Solaris上でmysqld_safeを実行するためには/bin/bashが必要となります。
            /bin/shは他のUnix/Linuxプラットフォーム上で引き続き使用されています。            

          + The --ledir option now is accepted only on the
            command line, not in option files.
            
            --ledirオプションはオプションファイルではなく、
            コマンドラインでのみ使用できるようになりました。

          + mysqld_safe ignores the current working directory.
            Other related changes:
            
            mysqld_safeは作業中のカレントディレクトリを無視します。
            その他の関連する変更点は下記となります。

          + Initialization scripts that invoke mysqld_safe pass
            --basedir explicitly.
            
            mysqld_safeを起動する初期化スクリプトでは、明示的に--basedirを指定します。

          + Initialization scripts create the error log file
            only if the base directory is /var/log or /var/lib.
            
            初期化スクリプトは、ベースディレクトリが
            /var/log か /var/lib である場合にのみ、エラーログファイルを作成します。

          + Unused systemd files for SLES were removed.
            (Bug #24483092, Bug #25088048)
            References: See also: Bug #24464380, Bug #24388753.
            
            SLES用の未使用のシステムファイルは削除されました。

 Bugs Fixed(バグ修正)

     * Incompatible Change: A change made in MySQL 5.7.8 for
       handling of multibyte character sets by LOAD DATA was
       reverted due to the replication incompatibility
       (Bug #24487120, Bug #82641)
       References: See also: Bug #23080148.
       
      【非互換の変更】
       MySQL5.7.8で実施されたLOAD DATAのマルチバイト文字処理の変更が、
       レプリケーションの非互換性を考慮して、元に戻りました。

     * InnoDB: The GCC mach_parse_compressed function should
       load one to five bytes depending on the value of the
       first byte. Due to a GCC bug, GCC 5 and 6 emit code to
       load four bytes before the first byte value is checked
       (GCC Bug #77673). A workaround prevents this behavior.
       Thanks to Laurynas Biveinis for the patch.
       (Bug #24707869, Bug #83073)
       
       InnoDB:GCCのmach_parse_compressed関数は最初のバイト数に応じて1~5バイトをロードすべきです。
       GCCのバグにより、GCC5と6は初めのバイト数がチェックされる前に、
       4バイトをロードするコードを出力します。この動作を回避するよう、修正されました。

     * CREATE TABLE with a DATA DIRECTORY clause could be used
       to gain extra privileges. (Bug #25092566)
       
       DATA DIRECTORY節を付けてCREATE TABLEを行うと、
       余分な権限が付与されて使用することができていた問題を修正しました。

     * The data structure used for ZEROFILL columns could
       experience memory corruption, leading eventually to a
       server exit. (Bug #24489302)
       
       ZEROFILLカラムに使用されるデータ構造はメモリ破損を引き起こし、
       結果としてサーバが落ちてしまう問題を修正しました。

     * Use of very long subpartition names could result in a
       server exit. Now partition or subpartition names larger
       than 64 characters produce an ER_TOO_LONG_IDENT error.
       (Bug #24400628, Bug #82429)
       
       非常に長いサブパーティション名を使用しているとサーバが落ちてしまう問題を修正しました。
       64文字以上のパーティション名もしくはサブパーティション名は
       ER_TOO_LONG_IDENTエラーを起こすようになりました。

     * On Solaris, gettimeofday() could return an invalid value
       and cause a server shutdown. (Bug #23499695)
       
       Solaris上で、gettimeofday()が無効な値を返し、
       サーバがシャットダウンしてしまう問題を修正しました。

     * For some deeply nested expressions, the optimizer failed
       to detect stack overflow, resulting in a server exit.
       (Bug #23135667)
       
       深くネストされた式の場合、オプティマイザがスタックオーバーフローの検知に失敗して
       サーバが落ちてしまっていた問題を修正しました。


上記以外にも、さまざまな変更やバグ修正が行われています。
それらを全て確認する場合は、下記リリースノートを参照して下さい。

http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-54.html

 

MySQL5.5は、世界的に注目されているオープンソースデータベース「MySQL」の2つ前の開発バージョンです(最新はMySQL5.7となります)。MySQL5.1の後継バージョンにあたり、様々な機能や特徴があります。

・Windowsにおける特有の機能と改善を利用した著しいパフォーマンス向上
・新しい準同期レプリケーションとレプリケーションハートビートによるより高いレベルの可用性
・改善されたインデックスとテーブルパーティショニング
・SIGNAL/RESIGNALサポート
・PERFORMANCE_SCHEMAの実装

MySQL5.5には、上記以外にも様々な特徴があります。詳細については、下記URLを参照してください。

https://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html

新たなサーバにMySQL5.5をインストール、または利用中のMySQLからMySQL5.5にアップグレードする際の情報については、以下を参照してください。

https://dev.mysql.com/doc/refman/5.5/en/installing.html

下記のダウンロードページから、MySQLのソースコード及び多数のプラットフォーム用バイナリが入手可能です。

http://dev.mysql.com/downloads/mysql/

その他、ご不明な点がございましたら、以下の公式リファレンスマニュアルをご利用いただけます。

http://dev.mysql.com/doc/refman/5.5/en/

以上