問題タブ [multi-master-replication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1625 参照

postgresql - (Postgresql) カスタム レプリケーション用に、変更された行の ID 値をログ テーブルに挿入するテーブル トリガー関数を作成します。

Postgresql --- そして最終的には Sybase ADS --- 自家製のトリガーを使用して複製するテーブルがあります。トリガーには、I/U/D 操作と変更された行の ID を含む INSERT UPDATE DELETE 変更に関する情報を記録する機能があります。双方向レプリケーションをテストするために、名の列と自動インクリメント ID を持つテスト テーブルを使用しています。

autoID が「1」の「JOHN」を追加するなど、NAME テーブルに挿入した場合、その ID 値と「JOHN」をログ テーブルに挿入できますか? OLD.ID または NEW.ID オプションを見ていますが、それがどのように機能するかはわかりません。私のトリガー/機能コードは次のとおりです。

これは最終的に、トリガーを使用して双方向のレプリケーションを作成することです。ご検討またはご指導をよろしくお願いいたします。必要に応じて編集します。

0 投票する
1 に答える
467 参照

python - Python mysql レプリケーション クライアントに値が表示されない

MySQL 5.6 用の Galera クラスターを使用しています。主にデバッグのために、DB へのすべての変更を追跡するために、
Python mysql レプリケーション クライアント ( https://github.com/noplay/python-mysql-replication ) を使用しています。これは以前はうまくいきました。次のようなデータが得られました。

最近、クラスター構成を変更しました。次の 2 つのパラメーターを追加しました ( https://severalnines.com/blog/how-set-asynchronous-replication-galera-cluster-standalone-mysql-server-gtidのアドバイスに基づいて):

クラスタはまだ正常に動作しています (ただし、非同期スレーブはまだ設定できていません)。しかし、Python レプリケーション クライアントの動作が変更されました。これで、以前のようにイベントで値が取得されなくなりました。これが今得られるすべてです:

「変更された行」は常に 0 のままです。GTID モードへの変更がクライアントに影響を与えた可能性が最も高いです。以前のように人間が読める値を取得することはまだ可能ですか?

レプリケーション イベントを監視するコードは次のとおりです。