OSSデータベース取り取り時報

第78回 MySQL 8.0.28リリース, PGEConsの「データの時代—ビジネスへ貢献するデータ管理基盤とは」

この記事を読むのに必要な時間:およそ 4 分

この連載はOSSコンソーシアム データベース部会のメンバーがオープンソースデータベースの毎月の出来事をお伝えしています。

[MySQL]2022年1月の主な出来事

2022年1月のMySQLの製品リリースは,MySQLサーバー8.0.28,5.7.37の各マイナーバージョンをはじめ,MySQL NDB Clusterや各種Connector, MySQL Shell, MySQL Workbenchなどのクライアントプログラムの商用版,およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップが行われました。MySQLのマネージドサービスMySQL Database Serviceのイメージも8.0.28にアップデートされています。MySQL Database Serviceのクエリ・アクセラレータであるHeatWaveのバージョンは8.0.28になっていますが細かなバグ修正のみで機能追加はありません。

MySQL 8.0.28リリース

MySQL 8.0.28と5.7.37のリリースに際して重要な注意点が2つあります。

1点目は,APTやYUMでMySQLの公式レポジトリrepo.mysql.comを利用してのインストールを行ったMySQLを,8.0.28や5.7.37にバージョンアップする際にエラーが発生する場合がある問題です。MySQLのダウンロードパッケージの署名のGnuPGキーが2021年12月に更新されたため,公式レポジトリを使用してのMySQL 8.0.28や5.7.37へのバージョンアップ時に鍵の検証エラーとなります。バージョンアップ前にレポジトリ情報の再インストールか新しい公開鍵の鍵束(keyring)への追加が必要です。詳しくはMySQL 8.0.28のリリースノートの"Packaging Notes"の項目を参照してください。PGP公開鍵はpgp.mit.eduで公開されているほか,MySQL 8.0のリファレンスマニュアルでもご確認いただけます。

2点目はMySQL 8.0.28のみに関連しますが,システム変数tmp_table_size(デフォルト値:16MB)の設定が「TempTableストレージエンジンを使用した内部一時表にも適用されるようになりました。従来はMEMORYストレージエンジンを使用したテーブルのみに適用されていました。GROUP BYの対象データが大きい場合などには,tmp_table_sizeを大きな値に設定しておかないと意図せず内部一時表がストレージ上に作成されて性能に影響が出る可能性があるため注意が必要です。一方でユーザーが明示的に作成する一時表はMEMORYストレージエンジンが使用されており,最大サイズとしてmax_heap_table_sizeの設定が適用される点は従来と変わりません。

なおTempTableストレージエンジンについてはgihyo.jpの連載「MySQL道普請便り」第129回 Internal Temporary Table(内部テンポラリテーブル)について[その1]および第132回(同テーマの[その2])をあわせて参照してください。

MySQL 8.0.28の主な新機能や改善点は以下の通りです。

メモリ利用量の監視と上限設定
システム変数global_connection_memory_tracking(デフォルト値:0)が追加され,1に設定するとユーザー接続が利用しているメモリの合計を算出し,ステータス変数Global_connection_memoryとして確認可能となります。システム変数global_connection_memory_limit(デフォルト値:16EB)connection_memory_limit(デフォルト値:16EB)が追加され,それぞれ全ユーザー接続のメモリ利用量の合計とそれぞれのユーザー接続のメモリ利用量の上限が設定できるようになりました。なおこれらの変数の対象にはシステムスレッドやInnoDBのバッファプールの利用分などは含まれません。
スレッド別のCPU利用時間の監視
各スレッドで最新のSQL文実行状況を表示するパフォーマンススキーマのevents_statements_currentテーブルなどにCPU_TIME列が追加され,各SQL文が利用したCPU時間が記録され監視に利用できるようになりました。
64bit環境での2038年問題の(一部)解消
FROM_UNIXTIME(),UNIX_TIMESTAMP(),CONVERT_TZ()の3つのSQL関数が64bitバージョンのOSでは64bitの値を扱えるようになったため,最大で'3001-01-18 23:59:59.999999'までの日時を扱えるようになりました。なお32bitのOS上でのこれらの関数およびTIMESTAMPデータ型は引き続き最大値が'2038-01-19 03:14:07.999999'までとなっておりますのでご注意ください。
TLSv1およびTLSv1.1のプロトコルのサポート廃止
MySQL 8.0.26で非推奨となっていたTLSv1およびTLSv1.1のプロトコルがサポート廃止となりました。MySQLサーバーとクライアントの通信,グループレプリケーションのノード間通信,レプリケーションのノード間通信の全てが対象になり,関連する設定でもこれらのTLSのバージョンは指定できなくなっています。

このほかリグレッションの修正を含む多数のバグ修正が行われておりますので,MySQL 8.0.28のリリースノートをご確認ください。

著者プロフィール

梶山隆輔

MySQL Sales Consulting Senior Manager。

日本オラクル(株)において,MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて,オーストラリア,インド,台湾などに在籍するチームメンバーを束ね,アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。


溝口則行(みぞぐちのりゆき)

TIS株式会社

OSSコンソーシアム副会長兼データベース部会リーダ。他に,PostgreSQLエンタープライズ・コンソーシアム(PGECons),日本OSS推進フォーラム(JOPF)にも参画。また,OSS推進活動の他に,日本のIT業界がDX(デジタルトランスフォーメーション)の波の藻屑とならないように,DX推進と変革に微力ながら勤しむ。