2024.12.11

MariaDB

MariaDB Enterprise Server 10.5.27-21(リリース日:2024年12月10日)

注目すべき変更点

  • --quickモードで使用する場合にフィールド幅を制限するための新しいパラメータ --quick-max-column-widthが利用できるようになりました

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

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

修正された問題

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

  • 圧縮列またはGIS列でgroup_concatを使用すると、これらのデータタイプを含むテーブルでgroup_concat操作を実行するユーザーに対して、サーバークラッシュや潜在的なデータ破損が発生する可能性があります

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

  • クエリに tblX.column=column_or_constant構造のHAVING句があり、オプティマイザーがテーブル tblXが定数テーブルであると推測できた場合、クエリによってクラッシュが発生する可能性がありました。HAVING句は元のクエリからのものである場合もあれば、条件プッシュダウン最適化からのものである場合もあることに注意してください
  • SPIDERエンジンのUDFを呼び出すと、SPIDERストレージエンジンプラグインをロードできなかった場合にクラッシュが発生します
  • Windows Subsystem for Linuxでは、ALTER TABLEまたはOPTIMIZE TABLEでInnoDBがクラッシュします
  • wsrep_allowlistテーブルに無効な値を追加した後、wsrep_cluster_addressを設定するとサーバーがクラッシュします
  • --init-fileターゲットが存在しない場合、mariadbdが起動時にハングします
  • 関数 DEFAULT()がクエリの一部である場合にサーバーがクラッシュする可能性があります
  • DELETE HISTORYステートメントを含むDMLの後に、システムバージョン管理されたテーブルで一意のハッシュインデックスが破損する可能性があります。これにより、データの破損、クラッシュ、および不正なクエリ結果が発生する可能性があります
    • 可能性のあるエラーログエントリ
      [ERROR] InnoDB: Record in index `c` of table `test`.`t` was not found on update...
  • MariaDB Enterprise クラスター (Galera) ノードがクラッシュした場合でも、一部のスレッドはまだ動作しています。これは、ノードによって書き込まれたエラーを引き続き取得するエラーログで確認できます。ノードが他のクラスターノードと正しく対話しなくなり、プライマリ状態を引き継ぐのをブロックすると、クラスター全体がハングします

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

  • ユーザーが--stop-positionを指定してmariadb-binlogを実行すると、出力にそのイベントまでのイベントが含まれていることが期待されます。出力にそのイベントまでのイベントが含まれていない場合、様々な予期しない動作が発生する可能性があります。例えば、出力をmariadbクライアントにパイプし、データベースで特定のトランザクションが実行されたと期待したが、実際には実行されなかった場合に、データベースの状態が不完全になることがあります
  • 外部キー制約で使用されているフィールドのデータタイプを変更すると、"Cannot change column '...': used in a foreign key constraint '...'"というエラーで失敗します
    • このALTERは、フィールドのタイプが複数のALTERステートメントで変更され、他のフィールドのタイプがALTERで変更される場合にのみ失敗します。
  • 定義にUNIONおよびSELECT ... FOR UPDATEを含むビューの作成は、"ER_PARSE_ERROR (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near..."というエラーで失敗します
  • MyISAMテーブルまたはARIAテーブルでのINSERT...SELECTは、Galeraによって複製されます
  • SpiderテーブルでのSELECT MINで、予想よりも多くの行が返されます
  • バックアップからinnodbテーブルを使用してシーケンスを選択的に復元できません
  • ジオメトリデータを含むLOAD DATA INFILEが失敗します
  • 位置パラメータが配列にバインドされたプリペアドステートメントモードでUPDATEステートメントを実行すると、テーブルを変更するために別のUPDATEステートメントを実行するBEFORE UPDATEトリガーがある場合に、更新される行の数が正しくなくなる可能性があります
  • リカバリでログの破損が認識されず、"log sequence number in the future"エラーメッセージが表示され、さらに破損が追加される可能性があります
    • ログの破損が認識されると、オプション innodb_force_recoveryを使用する場合にのみサーバーを起動できるようになりました
  • 即座に削除されたBLOB列の後の正しいINSERTで予期しないエラー "Row size too large (> 8123)..."が発生します
  • MariaDB Enterprise Clusterのセカンダリノードのbinlogタイムスタンプが間違っている
  • MariaDB Enterprise Audit PluginがACLクエリをログに記録するように設定されている場合、パスワードを含むステートメント CREATE USER .. IDENTIFIED VIA ed25519 USING PASSWORD(...)がログに記録されます
  • MariaDB Enterprise Audit PluginがACLクエリをログに記録するように設定されている場合、CREATE USER .. IDENTIFIED BYではパスワードがマスクされますが、CREATE OR REPLACE USERやSET STATEMENT ... FOR CREATE USERではマスクされません

パフォーマンスに関連するもの

  • BACKUP STAGE BLOCK_COMMITによってそれ以上のトランザクションコミットがブロックされると、MariaDB Enterprise Backupによってログレコードが不必要にコピーされます
    • また、バックアップが復元された後に、不完全なトランザクションをロールバックする作業も発生します
  • クエリの終了時にテーブルが閉じられると、Ariaの内部一時テーブルは変更された全てのブロックを不必要にディスクに書き込みます

プラットフォーム

エンタープライズライフサイクルに合わせて、MariaDB Enterprise Server 10.5.27-21は以下に対して提供されます:

  • AlmaLinux 8 (x86_64, ARM64)
  • AlmaLinux 9 (x86_64, ARM64)
  • Debian 11 (x86_64, ARM64)
  • Microsoft Windows (x86_64) (MariaDB Enterprise Clusterを除く)
  • 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 20.04 (x86_64, ARM64)

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


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


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

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