スマートスタイル TECH BLOG

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 を最新版に更新される場合は,今回解説を行った箇所に関して留意頂ければと存じます。


執筆者情報

後藤 智(GOTO Satoru)
2017年6月よりMariaDB Corporation AbにてAPAC(Asia Pacific)地域におけるプリセールス業務を主に担当。現在は主に日本を担当。
この執筆者の他の記事をよむ
Return Top