本記事は MySQL July 2024 GA Releases Now Available の翻訳版です。

 

InnovationリリースとLTSリリース

既に周知の通り、MySQLは新しくMySQL InnovationリリースおよびLong-Term Supported(LTS)リリースへの移行を発表し、2年ごとにメジャーLTSリリースを行います。詳しくは下記の公式Webマニュアル、ブログ記事をご覧ください。

 

MySQL 8.4.xはLTSシリーズなので、次のメジャー・バージョンは9.x Innovationシリーズです。Innovationバージョンのサイクル中は、MySQL 9.xが四半期毎にリリースされます。Innovationバージョンには新機能の追加、機能の非推奨および削除、バグ修正が含まれます。

9.xリリースには、MySQL Shell、MySQL Router、MySQL ConnectorおよびMySQL Clientも含まれます。またMySQL Workbenchの後継であるMySQL Shell for VS Codeのリリースもあります。

MySQLをお使いのデータベース管理者、開発者、ユーザーの皆様にはMySQL Serverのバージョンに関わらず、最新のMySQL Connector、MySQL Clinet、およびその他MySQLツールのご使用をお願いしております。2024年7月現在最新のMySQL 9.0がサポートするMySQL Serverは、MySQL Server 8.0、MySQL Server 8.4 LTS、およびMySQL Server 9.0です。

 

 

リリース・サイクルとバージョン・アップについて

MySQL は新しいバージョンの一般提供 (GA) を四半期毎に行います。2024年7月に一般提供となったバージョンのリリース・ノートと次回リリース予定のバージョンは下記のとおりです。


リリース・ノート(2024年7月 一般提供済み)


次回リリース予定(2024年10月)

  • バグ修正、セキュリティ修正のみ 
    • MySQL 8.4.2 LTS
    • MySQL 8.0.39
  • 新機能追加、バグ修正、セキュリティ修正 (Innovation リリース)
    • MySQL 9.1.0 Innovation

 

バージョン・アップのご案内

InnovationリリースであるMySQL 8.1、8.2、8.3は既にサポートを終了しています。現在もお使いの方は、MySQL 8.4 LTSへのバージョン・アップをお願いします。

MySQL 8.0のPremier Supportは2025年4月までとなっており、既にバグ修正およびセキュリティ修正のみの提供になっています。現在もお使いの方はPremier Support終了前に、長期サポートによる安定稼働を主眼においたMySQL 8.4 LTSへのバージョン・アップをご検討ください。

MySQLの最新機能をいち早く導入したい方には、2024年7月現在最新のInnovationシリーズであるMySQL 9.0へのアップグレードをおすすめしております。

 

 

MySQL Server 9.0の注目ポイント

MySQL 9.0 Innovationシリーズ開始

当該リリース以降で最新機能を実装していく土台となる、初期リリースです。

 

新機能: Vectorデータ型

CREATE文とALTER文でサポート開始します。

 

新機能: JavaScriptストアド・プログラム (MySQL Enterprise Edition)

  • JavaScriptベースのストアド・プログラムと関数のサポート
  • SQLによるJavaScriptストアド・プログラムの呼び出し
  • JavaScriptストアド・プログラムによるSQL呼び出し

JavaScriptストアド・プログラムついて詳しくは公式WebマニュアルブログYoutube動画をご覧ください。

 

SHA-1ベースのnative_passwordの削除

2005年にハッシュ関数SHA-1の脆弱性が確認されました。そこでMySQLは、2015年にsha256_passwordをリリースしました。この実装は意図的にコストを高くしており、複雑なハッシュ計算を時間を掛けて実行し、ランダムな出力を可能にします。これにより、アカウント認証の総当り攻撃を防ぐことができます。

2017年には、caching_sha2をリリースしました。caching_sha2_passwordは安全性の高いSHA-2を利用しサーバー側でキャッシュを使用することで、認証の性能を向上します。

SHA-1に基づいたnative_passwordの削除に伴い、MySQL 9.0にアップグレードする前にMySQL 8.0および8.4で作成したユーザの認証方法を、mysql_native_passwordからcaching_sha2_passwordに変更してください。詳しくは公式Webマニュアルをご覧ください。下記は基本構文と実行例です。

ALTER USER  'user'@'host' IDENTIFIED WITH caching_sha2_password;

 

下の実行例では、ユーザ認証方法の変更に加えパスワードの有効期限と、許可するログイン失敗回数およびロック時間も設定しています。


mysql> SELECT user, plugin, password_lifetime, user_attributes FROM mysql.user WHERE USER=’July2024GA’;
+————+———————–+——————-+—————–+
| user       | plugin                | password_lifetime | user_attributes |
+————+———————–+——————-+—————–+
| July2024GA | mysql_native_password |              NULL | NULL            |
+————+———————–+——————-+—————–+
1 row in set (0.00 sec)


mysql> ALTER USER ‘July2024GA’@’localhost’
    -> IDENTIFIED WITH caching_sha2_password BY ‘XXXXXXXXXX’
    -> PASSWORD EXPIRE INTERVAL 180 DAY
    -> FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 2;
Query OK, 0 rows affected (0.01 sec)


mysql> SELECT user, plugin, password_lifetime, user_attributes FROM mysql.user WHERE USER=’July2024GA’;
+————+———————–+——————-+———————————————————————————-+
| user       | plugin                | password_lifetime | user_attributes                                                                  |
+————+———————–+——————-+———————————————————————————-+
| July2024GA | caching_sha2_password |               180 | {“Password_locking”: {“failed_login_attempts”: 3, “password_lock_time_days”: 2}} |
+————+———————–+——————-+———————————————————————————-+
1 row in set (0.00 sec)
 

 

新バージョンのライブラリおよびコンパイラに移行

  • Linux 8、9プラットフォーム向けに、GCC13によるコンパイルに更新
  • Boost ライブラリを 1.85 に更新

 

アップグレード・パス

MySQL 9.0 Innovationにアップグレードすることが可能なのは、MySQL 8.0.34以降のMySQL 8.0、MySQL 8.3までのInnovationリリース、MySQL 8.4 LTSです。その他のアップグレード・パスについては公式Webマニュアルをご覧ください。

 

MySQL 9.0リリース

MySQL Client、MySQL Connectorをはじめとするその他のMySQLツールも、バージョン9.0をリリースします。MySQL Serverのバージョンに関わらず、最新のMySQL Client, MySQL Connector, MySQLツールをご使用ください。

MySQL Client 9.0、MySQL Connector 9.0、その他バージョン9.0のMySQLツールはMySQL Server 8.0、MySQL Server 8.4 LTS、およびMySQL Server 9.0をサポートします。

 

今後もMySQLをご愛顧賜りますようお願い申し上げます。