MariaDB MaxScale 2.2 以降における設定上の留意点

本記事はMariaDB Corporationより寄稿された記事となります
目次

はじめに

MariaDB のデータベースProxy, MaxScale は2018年はじめに GA となったバージョン 2.2 以降,設定ファイルの書式が変更されております。2.1以前のバージョンで有効だった書式が,バージョン 2.2 以降,警告もしくはエラーとなる場合がありますので,本記事にて解説致します。

オブジェクト名の空白

MaxScale の設定ファイル(デフォルト: /etc/maxscale.cnf)において,[ ] で囲まれる service, listener, server 名などのオブジェクト名はこれまで半角スペースを含むことができましたが,MaxScale 2.2 で REST API が導入され,以下のようなリクエストを行う際にURLに空白を含めると問題が生じるため,MaxScale内部で空白はハイフン(-)に変換されます。

旧書式

MaxScale 2.2以降の書式

今後,オブジェクト名には半角スペースを含めないことを推奨致します。

MaxScale 2.2 Knowledge Base : Whitespace in Object Names

モジュール/プロトコル名の変更

これまでモジュール/プロトコル名に MySQL が含まれていたモジュール/プロトコル名(共有オブジェクト名)は mariadb で始まるモジュール/プロトコル名に変更されました。

旧モジュール名 新モジュール名
MySQLClient mariadbclient
MySQLBackend mariadbbackend
mysqlmon mariadbmon

router_options

router の設定において,これまでは router_options= でオプションをコンマで区切って列記していましたが,2.3 ではサポートしない書式となり,router_options= を使用せず,各オプションを1行ごとに指定する書式となります。

router_options in Binlogrouter
MaxScale 2.3 readwritesplit Legacy Configuration

旧書式

2.3以降の書式

maxscale.cnf 設定例

MaxScale 2.3 で Master x 1 – Slave x 2 構成で自動failoverを行う場合,以下のような設定が必要となります。

旧モジュール名が使用されていた場合,MaxScale のログファイル /var/log/maxscale/maxscale.log に以下のような警告メッセージが記録されます(MaxScale 2.3.2の場合)。

MaxScale 2.3 では警告メッセージが記録されるだけですが,将来的にはエラーとなり MaxScale が起動しなくなる可能性がありますので,以前のバージョンからの設定ファイルを流用されている場合は留意が必要となります。

MariaDB MaxScale 2.2.1 Release Notes

まとめ

今回は MaxScale 2.2/2.3 で変更された設定ファイル書式に関して解説させて頂きました。2.1 以前のバージョンから MaxScale を使用されていて,MaxScale を最新版に更新される場合は,今回解説を行った箇所に関して留意頂ければと存じます。

 

スマートスタイルTECHブログについて

スマートスタイルTECHブログでは、日頃オープンソースデータベースのサポート業務に従事している有資格者で構成された技術サポートチームがMariaDBに関する技術情報を発信しています。データベースのお困りごとはお気軽にご相談下さい。

よかったらシェアしてね!
  • URLをコピーしました!
目次