2020.12.18

MariaDB

MariaDB Enterprise Server 10.3.27-10 GA版(リリース日:2020年12月14日)

セキュリティの脆弱性の修正
 CVE / CVSS 3.0 ベーススコア
 CVE-2020-14765 / 6.5
 CVE-2020-14776 / 4.9
 CVE-2020-14789 / 4.9
 CVE-2020-14812 / 4.9
 CVE-2020-28912 / N/A

主な変更点
・監査プラグイン(MariaDB Enterprise Auditではない)は、プロキシユーザーをログに記録しません
 でした。新しいプラグインのバージョン2.0.3は、イベントタイプCONNECTのイベントサブタイプ
 PROXY_CONNECTを導入しています。

  ○接続時、プロキシユーザーが使用されている場合、追加の行がログに記録されます:
   TIME,HOSTNAME,user,localhost,ID,0,PROXY_CONNECT,test,plug_dest@%,0

・mariabackup --slave-infoオプションのMariaDB GTIDサポートが改善されました。
・新しいグローバルInnoDB変数 innodb_max_purge_lag_wait
・スクリプトmariadb_es_repo_setupの新しいパラメータ --include-unsupportedを使用して、
 リポジトリ設定でサポートされていないパッケージのリポジトリを有効にすることができます。
 現在、リポジトリにはStorage Engine CONNECTが含まれています。ストレージエンジンは、
 yum install MariaDB-connect-engineまたはapt-get install mariadb-plugin-connect-engineに
 よってインストールできます。
・テーブルロックが存在する時にInnoDBレコードロックを取得しないMariaDB Server10.5の機能の
 バックポート。
・デフォルトでinnodb_log_optimize_ddl=OFFに変更されました。
・MariaDB Enterprise ClusterでGalera wsrepライブラリが25.3.31に更新されました。
・MariaDBエンジニアリングポリシーに準拠して、このリリースにはCentOS 6.xパッケージおよび
 RHEL 6.xパッケージは含まれていません。

修正されたバグ
<データ損失が発生する可能性があるもの>
・innodb_background_scrub_data_uncompressed=ONが使用されている場合、暗号化された
 InnoDBテーブルでデータが破損する可能性がある。
・ユーザーまたはシステムによって作成された一時テーブルは、作成時に既存のファイルを上書きする
 可能性がある。
・子テーブルを変更してプライマリキーを削除する前に、SET FOREIGN_KEY_CHECKS=0が
 使用される場合、ALTER TABLEコマンドの後でテーブルが消える可能性がある。

<クラッシュまたはハングを引き起こす可能性があるもの>
・InnoDBの永続的な統計分析により、強制的にフルスキャンが実行され、ロックがクラッシュする。
・InnoDBがINSERTでハングし、エラーメッセージ "Semaphore wait has lasted > 300 seconds"が
 表示される。
・max_sort_lengthをデフォルトの64よりも低い値に設定したfilesortで、サーバーのクラッシュが
 発生する可能性がある。
・複雑なMATCH .. AGAINST文字列を使用したInnoDB全文検索での潜在的なスタックオーバーフロー。
・特定の種類のREDOログの書き込み後にサーバーがアイドル状態になると、Mariabackupがハングする
 可能性がある。
・一時テーブルの暗号化が有効になっていて(encrypt-tmp-files=ON)、クエリがウィンドウ関数を
 使用している場合、サーバーのクラッシュが発生する可能性がある。
・エラーまたはレプリケーションチェックサムの不適切な発生が原因で、バイナリロギングが
 アクティブ化される時にMariaDBサーバーがクラッシュする可能性がある。
・ALTER TABLE .. DISCARD TABLESPACEの後のTRUNCATEでのInnoDBアサーション。
・仮想列に一意のキーを作成しようとして失敗した後、サーバーがクラッシュする。
・InnoDBで空間データ型のインデックスを使用すると、サーバーがクラッシュする可能性がある。
・文字列関数がタイプDATETIMEの列に使用され、文字列関数が行を返すサブクエリで使用されると、
 サーバーがクラッシュする可能性がある。
・MariaDB Enterprise Clusterノードは、外部キーを使用して同じテーブルで実行された
 多くの接続からのINSERT/DELETE/UPDATEの負荷が高いと、クラッシュする可能性がある。
・SET FOREIGN_KEY_CHECKS=0の使用中に外部キーが削除された外部キーを使用して、クエリが
 InnoDBテーブルで実行されると、サーバーがクラッシュする。この場合、SQLエラーが
 発生するはずです。
・再帰的なプロシージャ呼び出しが、SQLエラーではなくクラッシュで終了する。
・参照されるインデックスがないために、InnoDBは、SET FOREIGN_KEY_CHECKS=0の使用中に
 VIRTUAL列DDLを削除している時、テーブルを開くことに失敗する。
・テーブルスペースがすでに破棄された後でテーブルを変更すると、サーバーがクラッシュする。
・SHOW BINLOG EVENTS FROM ...は、指定された位置が存在しない場合、様々な非決定性のエラーを
 引き起こした。
・SET GLOBAL `replicate_do_db` = DEFAULTはクラッシュを引き起こす。
・JSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...)は、最初のパラメータがNULLに設定され、
 2番目のパラメータが有効なJSONでない場合にクラッシュする可能性がある。
・外部キーとインデックスの仮想列に対してON DELETE SET NULLを指定してDELETEを実行すると、
 サーバーがクラッシュする。
・MariaDB ODBCドライバを介して実行された準備済みのSELECTステートメントで、サーバーが
 クラッシュする可能性がある。
・インデックス付きの仮想列を含むテーブルのSELECTでクラッシュする。
・ウィンドウ関数NTH_VALUE()を使用したクエリでサーバーがクラッシュする可能性がある。
・Spiderのテーブルとパーティションを使用するとクラッシュする可能性がある。
・GaleraがFLUSH TABLESの後で動かなくなる。
・SET GLOBAL REPLICATE_DO_TABLEを使用すると、サーバーがクラッシュする可能性がある。

<予期しない動作を引き起こす可能性があるもの>
・SQL構文ISNULL(ID)=0でビューを定義すると、構文エラーが誤って返される。
・MariaDB Enterprise Backupは、Ariaログファイル './aria_log.00000000'が見つからないという
 エラーを報告する。
・増分バックアップに関するMariaDB Enterprise Backupの失敗。
・KILL QUERYを使用してInnoDBテーブルでクエリを中止すると、クエリを中止できなかった場合、
 SQLエラーメッセージは表示されない。
・マルチコンポーネントインデックス、2番目のインデックス、および、これらのインデックスに対する
 条件を持つWHERE/ON句が使用されている場合、オプティマイザは非効率的なプランを選択した。
・丸めが10進数に対して予期しない方法で行われていた。
・SETステートメントを介して実行時にinnodb_buffer_pool_sizeを変更した後、サーバーがクラッシュする。
・ビューを作成すると、SELECTから式の括弧が削除され、誤った結果になる。
・InnoDBでのmysql_tzinfo_to_sqlが遅い。
・UDFライブラリファイルが存在しない場合、UDFをアンインストールすることができない。
・「expr」に指定された値が先頭に多くのゼロを含む場合、DECIMAL型のCAST(expr ASタイプ)は
 予期しない結果を返す可能性がある。
・タイムゾーンが1つだけ読み込まれると、Galeraレプリケーションが壊れる。
・Galera SST Donationが失敗し、FLUSH TABLES WITH READ LOCKがタイムアウトする。
・FOREIGN KEYを使用したALTER TABLEの後にメモリリークが発生する可能性がある。
・data-directoryが失われ、ディレクトリが見つかった場合、MariaDB Enterprise Backup SSTは
 MariaDB Enterprise Clusterで失敗する。
・SHOW BINLOG EVENTS FROM ...は、指定された位置が存在しない場合、様々な非決定生エラーを
 引き起こした。
・パラメータがinnodb_flush_method O_DIRECTおよびinnodb_use_native_aio=1(デフォルト)に
 設定されている場合、Linux AIOはOSエラー22を返した。
・同じ名前のトリガーがすでに存在する場合、GaleraクラスターのCREATE OR REPLACE TRIGGERが
 複製されない。
・mysqld_multiは、異なるサーバーバイナリでは機能しなくなった。
・暗号化されたテーブルスペースに対する増分バックアップ --prepareで発生する可能性のあるエラー。
・フルテキストインデックスが使用されている場合、サーバーの起動と停止が遅くなる可能性がある。
・VIEWの括弧は、=とBETWEENの組み合わせに関して誤って定義される可能性がある。
・バイナリログの再生時のER_BASE64_DECODE_ERROR。
・Galeraを搭載したMariaDB Enterprise Clusterに関するいくつかのIPv6の問題。
・information_schemaのサブクエリが失敗し、エラーメッセージが表示される。
・AUTO_INCREMENTは、パーティションテーブルの複合プライマリキーではインクリメントされない。
・CREATE TEMPORARY TABLE .. LIKE(システムバージョン管理されたテーブル)は、テーブルに
 一意のインデックスが定義されている場合にエラーを返す。
・CREATE .. SELECTは、バージョン管理されたテーブルの結合で空の結果になる可能性がある。
・ビューの問い合わせ時に、そのビューがパーティションのあるバージョン管理されたテーブルから
 選択している場合、エラー「ERROR 4142 (HY000): SYSTEM_TIME partitions in table `t1`
 does not support historical query」が発生する。これは、ビュー自体がFOR SYSTEM_TIME ALLを
 使用して作成された場合にのみ発生する。
・データファイルのBlobにディスクスペースが再利用されない。
・mysqldumpは、シーケンス定義の詳細を--no-dataダンプにダンプしない。
・CHECK TABLEは、インスタントADD/DROPに関連するバグ(MariaDB Enterprise Server 10.3.17、
 10.4.7で修正)によって破損したテーブルの破損の検証に失敗する。
・サブクエリの実行は、LIMIT ROWS EXAMINEDを超えた後、終了しない。

<インストールまたはアップグレードに関連するもの>
・Ubuntu Focalで、ca-certificatesがインストールされていない場合、mariadb_es_repo_setup curlが
 失敗した。現在は、ca-certificatesの欠落に関するエラーが表示される。

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

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

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

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