3

MongoDB oplog を追跡できるのと同じ方法で、MySQL/MariaDB でデータベースの変更をリッスンする方法はありますか? このオンラインで情報を見つけるのに苦労しています。おそらく、MySQL ではなく Postgres でのみ利用可能です。

4

3 に答える 3

4

プラン A: 「一般ログ」をオンにします。すべてのクエリがそのログに書き込まれます。すぐにオフにしてください。そうしないと、ディスクがいっぱいになります。

プラン B: binlog をオンにします。これには、すべての「書き込み」が含まれます。そのログの内容を表示するプログラムがあります。

于 2016-02-02T01:56:34.527 に答える
2

このmysqlbinlogユーティリティを使用して、バイナリ ログを追跡できます。サーバーの変更をリモートで追跡するには、次のコマンドを使用します。

mysqlbinlog -R -t --stop-never -h <hostname> -u <user> -p  <binlog file name>

binlog ファイル名を取得するSHOW MASTER STATUSには、テーリングしているサーバーで実行します。行イベントをデコードする場合は、-v --base64-output=decode-rowsフラグを追加します。

mysqlbinlogバイナリログが有効になっている必要があります。log-bin構成ファイルに追加することで有効にできます。log-binファイル名は、値として追加するか、 を使用して制御できますlog-bin-basename。たとえば、log-bin=my-binlogを生成しmy-binlog.000001ます。

于 2018-06-29T20:45:38.827 に答える