検索
ニュース

「MySQL 9.0」公開 JavaScriptストアドプログラムやVECTOR型をサポート非推奨だった認証プラグイン「mysql_native_password」が削除される

オープンソースのリレーショナルデータベース管理システム「MySQL」の最新版「MySQL 9.0」がリリースされた。

Share
Tweet
LINE
Hatena

 Oracleは2024年7月3日(米国時間、以下同)に公式ブログで、オープンソースのリレーショナルデータベース管理システム(RDBMS)である「MySQL」の最新版「MySQL 9.0」を7月1日にリリースしたと発表した。

 MySQLのリリースモデルはイノベーションリリースと「Long-Term Supported」(LTS)リリースに分かれる。MySQL 9.0はイノベーションリリースだ。

イノベーションリリース

 約3カ月ごとにリリースされる。新機能、バグ修正、セキュリティパッチが含まれる。イノベーションリリースのサポートは、次のマイナーリリース(イノベーションまたはLTS)までに限られる。

LTSリリース

 約2年ごとにリリースされる。5年間のプレミアムサポートと3年間の延長サポートが提供される。メジャーバージョンの最後のマイナーリリースとしてリリースされ、その次のイノベーションリリースによって、メジャーバージョンが更新される。2024年4月にリリースされた「MySQL 8.4」が最新のLTSリリースで、今回のMySQL 9.0はその次のイノベーションリリースに当たる。

 MySQL 9.0で追加された機能、非推奨となった機能、削除された機能は以下の通り。

MySQL 9.0で追加された機能

JavaScriptストアドプログラム

 MySQL Enterprise Editionが、JavaScriptで記述されたストアドプログラムをサポートした。

CREATE FUNCTION gcd(a INT, b INT) 
RETURNS INT 
NO SQL 
LANGUAGE JAVASCRIPT AS
  $mle$
    let x = Math.abs(a)
    let y = Math.abs(b)
    while(y) {
      var t = y
      y = x % y
      x = t
    }
    return x
  $mle$
;
CREATE FUNCTIONステートメントとJavaScriptコードを使用した例

 JavaScriptで記述されたストアドプロシージャとストアド関数の両方がサポートされており、多言語エンジンコンポーネント(MLE)で提供される。MySQLのJavaScriptサポートは「ECMAScript 2023(ES2023)」仕様に準拠している。

VECTOR型のサポート

 MySQL 9.0はVECTOR型をサポートしている。ベクトルは、バイナリ文字列値またはリスト形式の文字列として表現されるエントリ(4バイト浮動小数点値)のリストで構成されるデータ構造だ。

 以下のように、CREATE TABLEを使用してVECTOR型のカラムを持つInnoDBテーブルを作成できる。

mysql> CREATE TABLE v1 (c1 VECTOR(5000));
Query OK, 0 rows affected (0.03 sec)

 VECTORカラムは、どのようなキーとしても使用できない。その中にはプライマリーキー、外部キー、ユニークキー、パーティショニングキーが含まれる。

EXPLAIN ANALYZE INTOからのJSON出力の保存

 以下のシンタックスを使用して、EXPLAIN ANALYZEからのJSON出力をユーザー変数に保存できるようになった。

EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt

プリペアドステートメント内のイベントDDL

 イベントに関する下記のSQLコマンドをプリペアドステートメントとして使用可能になった。

  • CREATE EVENT
  • ALTER EVENT
  • DROP EVENT

パフォーマンススキーマのシステム変数テーブル

 パフォーマンススキーマに、サーバシステム変数に関する情報を提供する以下の2つの新しいテーブルが追加された。

  • variables_metadataテーブル:システム変数に関する一般的な情報を提供
  • global_variable_attributesテーブル:サーバがグローバルシステム変数に割り当てる属性と値のペアに関する情報を提供

非推奨となった機能

 パフォーマンススキーマのvariables_infoテーブルのMIN_VALUEカラムとMAX_VALUEカラムが非推奨となり、MySQLの将来のリリースで削除される予定だ。代わりに、上に挙げたvariables_metadataテーブルのMIN_VALUEカラムとMAX_VALUEカラムを使用する必要がある。

削除された機能

 MySQL 8.0で非推奨となったmysql_native_password認証プラグインが削除された。サーバは、CLIENT_PLUGIN_AUTH機能を持たない古いクライアントプログラムからのmysql_native認証リクエストを拒否するようになった。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る