MariaDB10.5になって変わったこと

D
2023-12-01
2023-12-01

おつかれさまです。Dです。

AlmaLinux9に標準搭載されている、MariaDB 10.5で廃止されたパラメータが
あったようで、無駄に警告ログが出力されていることがありました。

備忘録的にまとめていきたいと思います。

内容

AlmaLinux9のMariaDBのログを調査することがあり、その際に以下のような警告ログが出ていました。

[Warning] The parameter innodb_log_files_in_group is deprecated and has no effect.
[Warning] The parameter innodb_thread_concurrency is deprecated and has no effect.

見慣れない感じだったので、調べてみたところ「innodb_log_files_in_group」と「innodb_thread_concurrency」の
パラメータが10.5から非推奨になっており、設定ファイルに書き込んでいた場合
その設定が反映されないよっていうログでした。

実際にサーバーを確認すると、MariaDBの設定ファイルには以下の追記があったのですが

----------------------------------
innodb_thread_concurrency = 16
innodb_log_files_in_group = 3
----------------------------------

実際にDBのパラメータを以下のSQLで確認してみたところ、やはり設定ファイルの情報は反映されていない状況でした。

MariaDB [(none)]> show variables like "innodb_log_files_in_group";
+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| innodb_log_files_in_group | 1     |
+---------------------------+-------+
1 row in set (0.001 sec)


MariaDB [(none)]> show variables like "innodb_thread_concurrency";
+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| innodb_thread_concurrency | 0     |
+---------------------------+-------+
1 row in set (0.001 sec)

ちなみにこの2つのパラメータは以下の設定になるそうです。


〇innodb_log_files_in_group

redoログの数を指定している。

※redoログはデータベースへの更新履歴を保管しているログのようで、何かのトラブルでデータベースがクラッシュしてしまった場合の
 リカバリーの修復作業のために利用されるそうです。


〇innodb_thread_concurrency

データベースへのスレッド数が制限される上限になります。
指定した数にスレッド数が達すると、スレッド数が増えないように制限がかかり
スレッドの処理が先入れ先出しキューに追加されて順に処理される状態になります。


また、「innodb_log_files_in_group」はMariaDB10.5から1つに制限されています。
※数を増やしたり出来ないので、必要に応じてログファイル自体の容量を拡張する必要があります。

公式では「innodb_thread_concurrency」を用いてスレッド数を調整する必要が無くなったのが非推奨理由だそうです。
※MariaDB10.6では非推奨から廃止になったため、アップデートで不要なパラメータになったようです。


※参考にしたURL
https://mariadb.com/kb/en/upgrading-from-mariadb-104-to-mariadb-105/#options-that-have-been-removed-or-renamed

【まとめ】

データベースアップデート時にはしれっとパラメータが非推奨になったり、廃止になっているパターンがあるので
ログを確認して警告などが出ていないか、確認が必要だと改めて思いました。