他の MySQL サーバーでクエリを監視し、デーモンが実行されている場所で実行されているクエリと比較する MySQL デーモン プラグインを作成したいと考えています。基本的に、これはスパイダー エンジンの設定であり、ヘッド ノードで開始されたクエリがシャードで実行されます。ヘッドでクエリが強制終了されるたびに、関連するクエリを強制終了するデーモンをシャード ノードに配置したいと考えています。
mysql_real_connect
, mysql_real_query
... を使用してヘッド ノードの "show processlist" にアクセスし、それらをローカル スレッド リストと比較するpthread を開始するというアイデアでした。デーモンのスレッドで発行mysql_real_connect
すると、セグメンテーション違反が発生します。これは のスレッド化の問題によるものだと思いますmysql_real_connect
。#define MYSQL_SERVER 1
で採用されたアプローチを使用し、それに従っていha_federated::real_connect()
ます。
mysql_real_connect
デーモンプラグイン内から実行することは実際に可能ですか?
ヒントをありがとう。