2022.09.15

MariaDB

MariaDB Enterprise Server 10.6.9-5 GA版(リリース日:2022年9月12日)

修正されたセキュリティ脆弱性

CVE/CVSSベーススコア
CVE-2022-32091/6.5
CVE-2022-32089/6.5
CVE-2022-32084/6.5
CVE-2022-32082/6.5
CVE-2022-32081/6.5
CVE-2018-25032/7.5

バックポートされた機能

MariaDB Enterprise Serverは、エンタープライズライフサイクルを通じて予測可能な開発および運用エクスペリエンスを可能にします。これらの新機能は、MariaDB Community Serverで成熟した後にバックポートされました。

UUIDデータタイプは、UUID値のより効率的なストレージのためにMariaDB Community Server 10.7からバックポートされました。

注目すべき変更点

  • --max-statement-timeコマンドラインオプションがmariadb-dumpに追加され、デフォルト値は0です。
  • MariaDB Enterprise Cluster(Galeraを搭載)にOpenSSL 3.0のサポートが追加されました。
  • グローバルスコープに加えて、explicit_defaults_for_timestampシステム変数にセッションスコープが追加されました。
  • Galeraが26.4.13-1に更新されました
  • Debian 9のサポートは終了しました。
  • Red Hat Enterprise Linux 9のサポートが追加されました。
  • Rocky Linux 9のサポートが追加されました。

ストレージ エンジンの変更

  • このリリースには、MariaDB ColumnStoreストレージエンジン バージョン 22.08.1が組み込まれています。

修正された問題

データ損失が発生する可能性があるもの

  • --rsyncコマンドライン オプションを指定してmariadb-backupを実行すると、バックアップはinnodb_buffer_pool_filenameシステム変数で定義されたパスにあるInnoDBバッファプールダンプファイルをコピーしようとします。
    • このリリース以降、mariadb-backupは、Galeraを搭載したMariaDB Enterprise Clusterの状態スナップショット転送(SST)中にInnoDBバッファプールダンプファイルのみをコピーします。
  • InnoDBが起動時にクラッシュリカバリを実行する場合、REDOログにDDLステートメントが含まれているとリカバリが失敗する可能性があります。
  • MariaDB Enterprise Clusterでは、ノードでread_onlyが有効になっている場合でも、SUPER権限を持たないユーザーはノードに書き込むことができます。
  • MariaDB Enterprise Clusterでは、値がNEXTVAL()関数を使用してInnoDBシーケンスから取得されると、変更が複製されません。
    • このリリース以降、InnoDBシーケンスは、NOCACHEで定義されている場合、適切に複製されます。
  • INPLACEまたはNOCOPYアルゴリズムでALTER TABLEを使用してInnoDBテーブルの照合順序が変更されると、一意のインデックス内の重複エントリは検出されません。

ハングまたはクラッシュを引き起こす可能性があるもの

  • INSERT .. SELECT .. GROUP BYが実行され、GROUP BY句に派生テーブルが含まれている場合、サーバーがクラッシュする可能性があります。
  • クエリにANY(SELECT .. GROUP BY(SELECT ..))述語が含まれ、そのGROUP BY句に冗長なサブクエリがある場合、サーバーがクラッシュする可能性があります。
  • ALTER TABLE .. ADDを使用してINSTANTアルゴリズムで列を追加する場合、.frmファイルのROW_FORMATがデータファイルで使用される実際の行形式と一致しない場合、サーバーがクラッシュする可能性があります。
    • MariaDB Server 10.2より前に作成されたテーブルの場合、.frmファイルのROW_FORMATは、データファイルで使用される実際の行形式と一致しない可能性がありました。サーバーがMariaDB Enterprise Server 10.6にアップグレードされた場合、その不整合が残る可能性がありました。
  • INSERT .. SELECTが実行され、SELECTクエリが集約関数またはウィンドウ関数を呼び出すと、サーバーがセグメンテーション違反でクラッシュする可能性があります。
  • 関数JSON_EXTRACTを呼び出すとクラッシュする
  • DISTINCTとCOLLATION(aggegate_func(...))のような常に一定の関数を使用するクエリでクラッシュする可能性があります。COLLATION()は特別な関数であることに注意してください。引数が定数でなくても、その値は定数です。
  • mariadb-backup --compress --parallel=4がハングする
  • 省略されたBY句でIN/ALL/ANY述語またはEXISTS述語が使用されている場合にクラッシュする可能性がある
  • InnoDBデータページが破損するとクラッシュする
  • DDLステートメントのInnoDBリカバリでのクラッシュ
  • FLUSH BINARY LOGSの実行時にハングする可能性がある
  • innodb_open_filesの設定が低すぎる多くのテーブルまたはパーティションにアクセスするとクラッシュする可能性がある
  • 通常のクエリのコンテキスト外でINサブクエリを使用するステートメントを実行するとクラッシュする可能性がある
  • トランスポートエンドポイントが接続されていない場合、MariaDB Enterprise Clusterノードがクラッシュする
  • 生成された列のインスタントADD/DROPでのバッファオーバーフロー
  • 予期されるER_BAD_FIELD_ERRORを返すのではなく、ON条件の不明な列でCREATE VIEWを実行するとクラッシュする

予期しない動作を引き起こす可能性があるもの

  • 数値と文字列が混在する場合のIN条件の一貫性のない動作
  • ROW形式のシーケンスイベントは、select NEXTVAL(sequence)のbinlog_row_imageの値を尊重しません。
  • ログに記録されたトランザクションは安全にロールバックされることが可能ですが、INCIDENT_EVENTがbinlogに追加されました
  • ER_SLAVE_INCIDENTがレプリカに送信され、SHOW REPLICA STATUSで障害の詳細が表示されない
  • mariadb-backupはバイナリログをバックアップディレクトリにコピーする
  • 再帰部分から計算された値がCTEの非再帰部分から取得された列のタイプに適合しない場合、再帰CTEを使用したSELECTからテーブルを作成する時に、予期しないデータタイプと切り捨てが発生します。このような状況では、CTE計算を中止する必要があります。
  • 複数テーブルのUPDATEクエリまたはDELETEクエリの場合、オプティマイザは、更新されるテーブルまたは削除されるテーブルに対してパーティションプルーニングの最適化を適用できません。
  • JSON_VALUE()がNULLプロパティを正しく解析しない
  • Debian LinuxのmariadbクライアントがUnicode文字を受け入れない
  • サブクエリのセミジョインの最適化は、特定のクエリのLooseScan戦略またはFirstMatch戦略を見逃す可能性がある
  • FULLTEXT検索では、InnoDBはアポストロフィが続く単一の単語を無視する必要があります。
  • DROP DATABASEは大文字と小文字を区別すべきではない
  • mariadb-backup --prepareがDDLを含むバックアップの準備に失敗する
  • mariadb-backupは、スペースIDが変更されていないにもかかわらず、各テーブルのスペースIDを1秒に1回stdoutに書き込みます。
  • JSON関数 JSON_ARRAY、JSON_ARRAY_APPEND、JSON_ARRAY_INSERT、JSON_INSERT、JSON_SETJSON_REPLACEの場合、関数がLONGTEXTフィールドに基づいて呼び出されると、結果が切り捨てられる
  • not_null_range_scanと組み合わせたテーブルの除外による間違った結果
    • optimizer_switch='not_null_range_scan=on'(デフォルトでは有効になっていない)で実行すると、結合を行い、constテーブルを持つクエリは、間違った結果を生成する可能性がありました。
  • 古いバイナリログのexplicit_defaults_for_timestampはOFFであると推定され、サーバーの値は無視される
  • "WHERE id IN (SELECT id FROM ..)"を使用して選択された場合、タイプUUIDのフィールドに対してUPDATEおよびDELETEが機能しません。
  • バイナリ形式のバイナリUUIDを持つIN句がある場合のSELECTパフォーマンスへの影響
  • ALGORITHM=NOCOPYを指定したALTER TABLEは、アップグレード後にテーブルでエラー"ERROR 1845 (0A000): ALGORITHM=NOCOPY is not supported for this operation. Try ALGORITHM=INPLACE"を返す

インストールとアップグレード

  • MariaDB Enterprise Clusterのローリングアップグレードは可能ではありません。

インターフェースの変更

  • columnstore_cmapi_hostシステム変数が追加されました
  • columnstore_cmapi_keyシステム変数が追加されました
  • columnstore_cmapi_portシステム変数が追加されました
  • columnstore_cmapi_versionシステム変数が追加されました
  • columnstore_s3_keyシステム変数が追加されました
  • columnstore_s3_regionシステム変数が追加されました
  • columnstore_s3_secretシステム変数が追加されました
  • explicit_defaults_for_timestampシステム変数の動的がNoからYesに変更されました
  • mariadb --enable-cleartext-pluginコマンドラインオプションが追加されました
  • mariadb-backup --sst-max-binlogsコマンドラインオプションが追加されました
  • mariadb-dump --max-statement-timeコマンドラインオプションが追加されました
  • mariadbd --spider-direct-aggregateコマンドラインオプションが追加されました
  • spider_direct_aggregateシステム変数が追加されました
  • sys_guid FUNCTIONプラグインが追加されました
  • uuid DATA TYPEプラグインが追加されました
  • uuid FUNCTIONプラグインが追加されました

プラットフォーム

エンタープライズライフサイクルに合わせて、MariaDB Enterprise Server 10.6.9-5は次のプラットフォームに対して提供されます。

  • CentOS 7 (x86_64)
  • Debian 10 (x86_64 / ARM64)
  • Debian 11 (x86_64 / ARM64)
  • Microsoft Windows (x86_64)
  • Red Hat Enterprise Linux 7 (x86_64)
  • Red Hat Enterprise Linux 8 (x86_64 / ARM64)
  • Red Hat Enterprise Linux 9 (x86_64 / ARM64)
  • Rocky Linux 8 (x86_64 / ARM64)
  • Rocky Linux 9 (x86_64 / ARM64)
  • SUSE Linux Enterprise Server 12 (x86_64)
  • SUSE Linux Enterprise Server 15 (x86_64 / ARM64)
  • Ubuntu 18.04 (x86_64 / ARM64)
  • Ubuntu 20.04 (x86_64 / ARM64)
  • Ubuntu 22.04 (x86_64 / ARM64)

MariaDB Enterprise Serverの一部のコンポーネントは、全てのプラットフォームをサポートしていない場合があります。


MariaDB Enterprise Server 10.6.9-5のリリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/release-notes/mariadb-enterprise-server-10-6/10-6-9-5/


MariaDBプロダクト・サポート・サービス

MariaDB
MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。