2017.07.25

MySQL

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

オリジナル版:https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html

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


Changes in MySQL 5.7.19 (主な変更点)

Account Management Notes(アカウント管理関連)

 * During data directory initialization or upgrade, MySQL now creates a 
   'mysql.session'@'localhost' reserved account. This account is used internally by 
   plugins to access the server. It is locked so that it cannot be used for client 
   conections. (Bug #25642343)

   データディレクトリの初期化/アップグレード中に、MySQLが'mysql.session'@'localhost'と
   いうアカウントを作成するようになりました。このアカウントはプラグインの操作で内部的に
   使用されます。クライアントコネクションが使えないように見えますが、問題はありません。


Compilation Notes(ライブラリ関連)

 * Solaris: On Solaris, MySQL binary distributions are now linked against libatomic.so, 
   so they are no longer dependent on libstatomic.so. (Bug #25909965)

   SolarisのMySQLバイナリでは、libatomic.soをリンクするようになりました。libstatomic.so
   は非推奨となります。


Feature Deprecation and Removal Notes(機能の非推奨・削除関連)

 * InnoDB: The innodb_undo_logs configuration option is deprecated and will be removed 
   in a future release. The innodb_rollback_segments configuration option performs 
   the same function and should be used instead.

   The Innodb_available_undo_logs status variable is deprecated and will be removed 
   in a future release.

   【InnoDB関連】innodb_undo_logsの設定オプションが非推奨となり、将来のリリースで削除
   される予定です。innodb_rollback_segments設定オプションが同じ機能を果たし、代わりに
   使えるようになります。
   
   同じく、Innodb_available_undo_logsステータス変数も将来のリリースで削除される予定です。


Packaging Notes(パッケージ関連)

 * mysqladmin was added to Docker/Minimal packages because it is needed by InnoDB Cluster. 
   (Bug #25998285)

   InnoDB Clusterで必要となるため、Docker/Minimalパッケージに mysqladmin が追加されました。
 * Debian/Ubuntu packages now support multiple MySQL instances with systemd. See Managing
   MySQL Server with systemd. (Bug #24559588, Bug #82785)

   Debian/Ubuntuパッケージでsystemdを使った複数MySQLインスタンスがサポートされました。


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

 * Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been 
   updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at 
   http://www.openssl.org/news/vulnerabilities.html.

   This change does not affect the Oracle-produced MySQL Community build of MySQL Server, 
   which uses the yaSSL library instead. (Bug #26160962)
       
   MySQL Commercial ServerがリンクするOpenSSLのライブラリが、1.0.2lになりました。問題の
   修正内容については、URLを参照ください。
       
   この変更は、Oracle社が提供するMySQL Community Serverには影響がありません。
   それは、OpenSSLのライブラリの代わりに、yaSSLのライブラリを使用しているからです。

 * MySQL Enterprise Edition now supports LDAP pluggable authentication of MySQL users. 
   This enables MySQL Server to use LDAP (Lightweight Directory Access Protocol) to 
   authenticate MySQL users by accessing directory services such as X.500. 
   For more information, see Pluggable Authentication.

   MySQL Enterprise Editionが、LDAPのプラガブル認証をサポートするようになりました。
   これによりMySQLが、X.500のようなディレクトリサービスでMySQLユーザのアクセスが可能に
   なりました。

 * MySQL Enterprise Edition now includes a keyring_aws plugin that communicates with 
   the Amazon Web Services Key Management Service as a back end for key generation 
   and uses a local file for key storage. For more information, see The MySQL Keyring.

   MySQL Enterprise Editionで、keyring_awsプラグインが使えるようになりました。
   これにより、Amazon Web Services Key Management Serviceとの連携が可能になります。


Spatial Data Support(空間データ関連)

 * These functions previously accepted either WKB strings or geometry arguments. 
   Use of geometry arguments is now deprecated and generates a warning. Geometry 
   arguments will not be accepted in MySQL 8.0.

     + ST_GeomCollFromWKB(), ST_GeometryCollectionFromWKB()
     + ST_GeomFromWKB(), ST_GeometryFromWKB()
     + ST_LineFromWKB(), ST_LinestringFromWKB()
     + ST_MLineFromWKB(), ST_MultiLinestringFromWKB()
     + ST_MPointFromWKB(), ST_MultiPointFromWKB()
     + ST_MPolyFromWKB(), ST_MultiPolygonFromWKB()
     + ST_PointFromWKB()
     + ST_PolyFromWKB(), ST_PolygonFromWKB()

   これらの関数は以前、WKB文字列や地理情報の引数を利用する際に使用されていました。
   しかし、地理情報の引数は非推奨となりワーニングが出力されます。地理情報の引数は
   MySQL8.0以降使用することが出来ません。


X Plugin Notes(Xプラグイン関連)

 * X Plugin now handles expired SSL certificates correctly. (Bug #25835833)

   Xプラグインが期限切れのSSL証明書を適切に処理できるようになりました。

 * The output of clauses such as GROUP BY and HAVING has been improved by moving 
   the grouping_criteria expression to the derived query. (Bug #25549637, Bug #24497007)

   グループ化した分析結果をderivedクエリに移動させることで、GROUP BY句やHAVING句の
   出力が向上しました。


Platform-Specific Notes(特定のプラットフォーム関連)

 * Linux: The generic Linux build for MySQL 5.7 is now built on Oracle Linux 6 using 
   glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed 
   on them. (Bug #26005558)

   【Linux関連】MySQL 5.7の「The generic Linux」ビルド版が、glibc 2.12を使用した
   Oracle Linux 6でビルドされたものになりました。
   そのため、ユーザが利用するLinuxでもglibc 2.12以降が必要となります。

 * Linux: The generic Linux build for MySQL 5.7 now supports Non-Uniform Memory Access 
   (NUMA) on its host system. Systems that use the build need to have libnuma installed 
   on them. See Installing MySQL on Unix/Linux Using Generic Binaries for more details. 
   (Bug #26005558)

   【Linux関連】MySQL 5.7の「The generic Linux」ビルド版がNUMAをサポートしました。
   ただし、libnumaをインストールしておく必要があります。


Functionality Added or Changed(機能の追加・変更)

 * Replication: The group_replication_transaction_size_limit variable was added to 
   enable you to protect a group against large transactions causing a failure. 
   (Bug #84785, Bug #25510757)

   【Replication関連】group_replication_transaction_size_limit変数が追加され、
   巨大なトランザクションによってグループでエラーが発生するのを抑制できるように
   なりました。

 * Replication: Group Replication now supports SQL transaction SAVEPOINT.

   【Replication関連】Group ReplicationがトランザクションのSAVEPOINT句をサポートしました。

 * For Windows, MSI installer packages now include a check for the required Visual Studio 
   redistributable package, and produce a message asking the user to install it 
   if it is missing. (Bug #25658832)
       
   Windows向けのMSIインストーラに、必要となるVisual Studio再利用パッケージをチェックする
   機能が追加されました。もし、インストールされていない場合はメッセージが出力されます。

 * The mysql client now supports a --binary-as-hex option that causes display of binary 
   data using hexadecimal notation (0xvalue). Thanks to Dani?l van Eeden for the patch. 
   (Bug #25340722, Bug #84391)

   mysqlクライアントに--binary-as-hexオプションが追加されました。このオプションを有効に
   すると、十六進記数法でバイナリデータを表示してくれます。


 Bugs Fixed(バグ修正)

 * Incompatible Change: Plugins such as Group Replication and X Plugin now use 
   the mysql.session account added in this version. If you are upgrading from a previous 
   version which did not include the mysql.session account you must run mysql_upgrade to 
   ensure the account is created. If mysql_upgrade is not run, plugins fail to start with 
   the error message There was an error when trying to access the server with user: 
   mysql.session@localhost. Make sure the user is present in the server and that 
   mysql_upgrade was ran after a server update. (Bug #26042764)

   References: See also: Bug #24311527, Bug #25642343.

   【非互換の変更】Group Replication や X Plugin が本バージョンから追加されたmysql.session
   ユーザを使用するようになりました。このユーザが存在しない古いバージョンからバージョン
   アップした場合は、ユーザ作成のため mysql_upgrade を実行する必要があります。
   mysql_upgrade を実行しなかった場合はMySQLの起動に失敗し、エラーメッセージが出力されます。
 * InnoDB: An ALTER TABLE operation that rebuilt an encrypted table did not set 
   the encryption attribute properly. (Bug #26243264)

   【InnoDB関連】暗号化テーブルを再構築するALTER TABLE文が、暗号化ステータスを適切に
   扱えていなかった不具合を修正しました。

 * InnoDB: The server allocated memory unnecessarily for an operation that rebuilt 
   the table. (Bug #25573565, Bug #85043)
       
  【InnoDB関連】テーブルの再構築時に不必要なメモリを割り当ててしまうバグを修正しました。
  
 * InnoDB: With foreign_key_checks disabled, InnoDB incorrectly printed messages to 
   the error log when operations were performed on a table that referenced a non-existent 
   foreign key. (Bug #25365223)

   【InnoDB関連】外部キー制約チェックを無効にした時、存在しない外部キーを参照するテーブル
   に対して処理が実行された時に誤ったメッセージをエラーログに出力してしまう不具合を
   修正しました。

 * InnoDB: During a TRUNCATE TABLE operation on a file-per-table tablespace, a dictionary 
   operation lock was released before eviction of dirty pages from the buffer pool, 
   causing a latch order violation. (Bug #25357789)

   【InnoDB関連】file-per-tableが有効な環境でTRUNCATE TABLE実行中に、ダーティページが
   フラッシュされる前にディクショナリに対するロックが解放され、バイオレーションが発生
   してしまう不具合を修正しました。

 * InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation 
   sometimes returned 0. Partitioning code incorrectly performed a memcpy instead 
   of a column copy of columns read by the index, causing the wrong records to be copied. 
   (Bug #25332330, Bug #81031)
       
   【InnoDB関連】オプティマイザスイッチに含まれる「index merge」が有効な場合に、
   SELECT COUNT(*)文が"0"を返すことがありました。Paritioningのコードが、インデックスが
   読み込んだカラムをコピーする代わりに不正な memcpy を実行してしまうようになっており、
   その結果誤ったレコードがコピーされることが原因でした。

 * Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no 
   effect. (Bug #26128931)
       
   【Replication関連】SET GTID_NEXT文の実行後に、USE文を実行すると何も起こらないことがある
   不具合を修正しました。

 * Replication: If a relay log index file named relay log files that did not exist, 
   RESET SLAVE ALL sometimes did not fully clean up properly. (Bug #24901077)
       
   リレーログのインデックスファイルが存在しないリレーログ名を指していた場合、
   RESET SLAVE ALL文によるクリーンアップ処理が不完全になる不具合を修正しました。

 * mysqldump could write database names in USE statements incorrectly. (Bug #25998635)
       
   mysqldumpコマンドがUSE文にデータベース名を適切に出力できない不具合を修正しました。

 * Queries could be cached incorrectly, leading to incorrect query results, under these 
   circumstances: InnoDB table; rows are being inserted but have not yet been committed; 
   a query uses the table as a base table in a derived table; the optimizer chooses to 
   materialize the derived table.  (Bug #25943038, Bug #86047)
      
   InnoDBにおいて下記の状況下では、クエリが正しくキャッシュされず不正な結果を返すことが
   ありました:
     ・レコードがINSERTされたが未コミット
     ・derived tableを使用している
     ・オプティマイザが materialize を選択している

 * A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or 
   INDEX DIRECTORY clauses. (Bug #25451091)
       
   DATA DIRECTORY句 か INDEX DIRECTORY句を付けてCREATE TABLE文を実行した時に競合エラーが
   発生する可能性がありました。

 * With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was 
   permitted under certain conditions. (Bug #25250768)
       
   read_onlyが有効になっている環境でも、SUPER権限のないユーザが特定の条件下でテーブルの
   作成ができてしまう不具合を修正しました。

上記以外にも、さまざまな変更やバグ修正が行われています。それらを全て確認する場合は、下記リリースノートを参照して下さい。
<a href="https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html" target="_blank">https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html</a></p>

 

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

   - パフォーマンスやスケーラビリティの向上
   - JSON形式のサポート
   - マルチソースレプリケーションの実装
   - SYSスキーマの導入
   - セキュリティの向上
   - InnoDBにおけるGIS(位置データ)の対応

MySQL5.7には、上記以外にも様々な特徴があります。詳細については、下記URLを参照してください。
http://mysqlserverteam.com/whats-new-in-mysql-5-7-generally-available/

新たなサーバにMySQL5.7をインストール、または利用中のMySQLからMySQL5.7にアップグレードする際の情報については、以下を参照してください。
http://dev.mysql.com/doc/refman/5.7/en/installing.html

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

その他、ご不明な点がございましたら、以下の公式リファレンスマニュアルをご利用いただけます。
http://dev.mysql.com/doc/refman/5.7/en/

以上