通常、アプリケーションを変更する方法が、最も簡単な推奨方法です。たとえば、次の図に示すような一般的な構造の場合、MySQL サーバと直接通信せずに、エージェントと接続するように、クライアントアプリケーションを変更する必要があります。
エージェントを介して通信を行う構造の例を次に示します。
アプリケーション内で Query Analyzer を有効にするには、次のようにします。
MySQL Enterprise Service Manager および MySQL Enterprise Service Agent が設定され、実行中であることを確認します。
インストールされた Agent ディレクトリ内の
etc/mysql-monitor-agent.ini
ファイルの内容を参照して、エージェントの設定を確認します。
クエリは、proxy-backend-addresses
パラメータで指定されたホストに送信されます。エージェントは、proxy-address
パラメータで設定されたホスト名およびポートのサーバにリダイレクトされる接続をリスンします。
proxy-address
パラメータで指定したアドレスで通信するようにアプリケーションを変更します。
また、アプリケーションを直接変更しない場合、IP テーブルやファイヤウォールルールを使用して、元のホスト/ポートのペアをエージェントのポートにクエリをリダイレクトできます。
ログイン権限を変更、または別のログイン権限を指定する必要はありません。エージェントは、提供されたログインおよびパスワードの詳細を変更せずに元の MySQL サーバに渡します。
アプリケーションが通常どおり機能していることを確認します。MySQL サーバとの直接的な通信とエージェントを介した通信に違いはありません。
mysql
クライアントを使用して、エージェントおよびバックエンドサーバに接続する場合、適切なポートを使用してプロキシと通信していることを確認してください。デフォルトでは、localhost
をホスト名として指定すると、mysql
は TCP/IP ソケットではなく、ローカル UNIX
ドメインソケットを使用して接続します。
mysql
で適切なポートを使用させるには、プロトコルタイプを明示的に要求するか、localhost
ではなく IP
アドレスを使用します。たとえば、次の両方のコマンドを使用すると、クライアントは適切なプロトコルを使用して開始されます。
shell> mysql --port=4040 --protocol=tcp shell> mysql --port=4040 --host=127.0.0.1
MySQL サーバインスタンスごとに使用するエージェントは 1 つにすることをお勧めします。エージェントは、クエリを複数の MySQL サーババックエンドに転送できません。