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