MySQL構成管理は、MySQL構成ファイルとランタイム構成の2つの主要コンポーネントで構成されています。ランタイム環境への構成変更の適用は、セッション変数に対する特権はなく、グローバル変数に対するSUPER特権を持つMySQLサーバークライアントを介して行うことができます。同じ構成変更をMySQL構成ファイルに適用することも、MySQLの再起動後も変更を永続化するために必要です。そうしないと、起動時にデフォルト値がロードされます。
このブログ投稿では、MySQLWorkbench構成管理の代替としてClusterControl構成管理について説明します。
MySQLWorkbench構成管理
MySQL Workbenchは、サーバーバージョン5.x以降のMySQLサーバーおよびデータベースを操作するためのグラフィカルクライアントです。これは無料で利用でき、SQL開発、データモデリング、MySQLサーバー管理、およびデータ移行を実行するためにSysAdmins、DBA、および開発者によって一般的に使用されています。
MySQL Workbenchを使用して、リモートMySQLサーバーでMySQL/MariaDB構成管理を実行できます。ただし、この機能を有効にするために必要ないくつかの初期手順があります。 MySQL Workbenchから、既存の接続プロファイルを選択し、[リモート管理の構成]を選択します。接続プロファイルのリモート管理をセットアップするのに役立つステップバイステップの構成ウィザードが表示されます:
最初に、サーバーのバージョンを判別するための接続が試行され、ターゲットマシンのオペレーティングシステム。これにより、接続設定を検証し、ウィザードが意味のある構成プリセットを選択できるようになります。この試行が失敗した場合でも、次の手順に進むことができます。この手順では、リモートサーバー環境に合わせて設定をさらにカスタマイズできます。
リモート接続の構成が完了したら、接続プロファイルをダブルクリックして、MySQLインスタンスへの接続を開始します。次に、[インスタンス]-> [オプションファイル]に移動して、[構成マネージャー]セクションを開きます。次のスクリーンショットのようなものが表示されるはずです:
構成ファイルの既存の構成変数はすべて、この構成にプリロードされますマネージャを使用すると、それぞれの値で有効になっているオプションを確認できます。構成は、一般、ロギング、InnoDB、ネットワーキングなどのいくつかのセクションに分類されます。これは、調整または有効にしたい特定の機能に集中するのに役立ちます。
変更に満足したら、[適用]をクリックする前に、ドロップダウンメニュー([破棄]ボタンのすぐ横)から正しいMySQLグループセクションを選択していることを確認してください。適用すると、構成がMySQLサーバーに適用され、MySQL構成ファイルに新しい行が表示されます(存在しなかった場合)。
[適用]ボタンをクリックしても、対応する変更がMySQLランタイムにプッシュされないことに注意してください。 MySQLサーバーで再起動操作を実行して、[インスタンス]->[起動/シャットダウン]に移動して新しい構成変更をロードする必要があります。これはデータベースの稼働時間に影響を及ぼします。
ロードされたすべてのシステムステータスと変数を表示するには、[管理]->[ステータスとシステム変数]に移動します。
ClusterControl構成管理
ClusterControl Configuration Managerには、[管理]->[構成]からアクセスできます。 ClusterControlは、いくつかの重要な構成ファイルをプルして、ツリー構造で表示します。これらのファイルを一元的に表示することは、分散データベースのセットアップを効率的に理解してトラブルシューティングするための鍵です。次のスクリーンショットは、ClusterControlの構成ファイルマネージャーを示しています。このマネージャーは、このクラスターに関連するすべての構成ファイルを、構文が強調表示された1つのビューに一覧表示しています。
上のスクリーンショットからわかるように、ClusterControlはMySQLを理解しています "!include "パラメータであり、それに関連付けられているすべての構成ファイルを追跡します。たとえば、ホスト192.168.0.21、/etc/my.cnfおよび/etc/my.cnf.d/secrets-backup.cnfからプルされている2つのMySQL構成ファイルがあります。別のエディタータブで複数の構成ファイルを開くと、コンテンツを並べて比較しやすくなります。 ClusterControlは、テキストエディタの右下に表示されているように、OSタイムスタンプから最後のファイル変更情報も取得します。
ClusterControlは、データベースクラスターの構成オプションを変更する際の反復性を排除します。複数のノードで構成オプションを変更することは、単一のインターフェースを介して実行でき、それに応じてデータベースノードに適用されます。 [パラメータの変更/設定]をクリックすると、変更するデータベースインスタンスを選択し、構成グループ、パラメータ、および値を指定できます。
構成ファイルに新しいパラメーターを追加したり、既存のパラメーターを変更したりできます。オプションが変数検証プロセスに合格した場合、パラメーターは選択されたデータベースノードのランタイムと構成ファイルに適用されます。一部の変数では、サーバーの再起動や構成の再読み込みなどのフォローアップ手順が必要になる場合があります。これらの手順は、ClusterControlによって通知されます。
ClusterControlによって構成されたすべてのサービスは、ClusterControlノードの/ usr / share / cmon/templatesの下にある基本構成テンプレートを使用します。展開ポリシーに合わせてファイルを直接変更できますが、このディレクトリはパッケージのアップグレード後に置き換えられます。カスタム構成テンプレートファイルがアップグレード間も存続するようにするには、テンプレートファイルを/ etc / cmon/templatesディレクトリに保存します。 ClusterControlがデプロイメント用のテンプレートファイルをロードする場合、/ etc / cmon / templatesの下のファイルは、常に/ usr / share / cmon/templatesの下のファイルよりも優先されます。同じ名前の2つのファイルが両方のディレクトリに存在する場合、/ etc / cmon/templatesの下にあるファイルが使用されます。
[パフォーマンス]->[DB変数]に移動して、クラスター内のすべてのサーバーのランタイム構成を確認します。
上のスクリーンショットで赤で強調表示されている線に注意してください。これは、構成がすべてのノードで同一ではないことを意味します。これにより、特定のデータベースクラスター内のホスト間の構成の違いをより明確に把握できます。
Workbench v ClusterControl:長所と短所
すべての製品には、独自の長所と短所があります。 ClusterControlの場合、クラスターとトポロジを理解するため、複数のデータベースノードを一度に管理するのに最適な構成マネージャーです。 MariaDB、Percona、およびすべてのGaleraClusterバリアントなどの複数のMySQLベンダーをサポートします。また、HAProxy、MariaDB MaxScale、ProxySQL、およびKeepalivedのデータベースロードバランサー構成形式も理解します。 ClusterControlは、クラスターのインポート/デプロイの開始時にパスワードなしのSSH構成を必要とするため、構成管理にはWorkbenchのようなリモートセットアップは不要であり、ホストがClusterControlによって管理された後はすぐに機能します。 ClusterControlによって実行されたMySQL構成の変更は、(サポートされているすべての変数に対して)自動的にランタイムにロードされるだけでなく、永続性のためにMySQL構成ファイルに書き込まれます。欠点として、ClusterControl構成管理には、構成オプションを変更した場合に何が起こるかを予測するのに役立つ構成の説明が付属していません。 MySQLが実行できるすべてのプラットフォーム、特にCentOS、RHEL、Debian、Ubuntuなどの特定のLinuxディストリビューションのみをサポートしているわけではありません。
MySQL Workbenchは、Windows、FreeBSD、MacOS、Open Solaris、Linuxなどの多くのオペレーティングシステムのリモート管理をサポートしています。 MySQL Workbenchは無料で利用でき、PerconaやMariaDBなどの他のMySQLベンダーでも使用できます(ここには記載されていませんが、一部の古いバージョンのMariaDBで動作します)。また、TARバンドルからのインストールの管理もサポートしています。これにより、構成ファイルのパス、サービス/停止コマンド、およびMySQLグループセクションの命名をカスタマイズできます。優れた機能の1つは、MySQL Workbenchが固定値にドロップダウンメニューを使用することです。これは、次のスクリーンショットに示すように、ユーザーによる設定ミスのリスクを減らすのに非常に役立ちます。
欠点として、MySQL Workbenchは、複数のホスト構成管理をサポートしていません。すべてのホストで個別に構成変更を実行する必要があります。また、データベースサービスの稼働時間を損なう可能性のある明示的なMySQLの再起動なしに、構成の変更をランタイムにプッシュしません。
次の表は、上記のすべての点から得られた重要な違いを簡略化したものです。
| MySQL Workbench | ClusterControl |
MySQLサーバーでサポートされているOS |
|
|
MySQLベンダー |
|
|
|
| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |