データベースの変更に関する通知を取得するために、mysql bin ログを追跡するサービスを作成したいと考えています。
mysql bin ログを ROW 形式で読み取って解析するオープン ソース ライブラリはありますか?
データベースの変更に関する通知を取得するために、mysql bin ログを追跡するサービスを作成したいと考えています。
mysql bin ログを ROW 形式で読み取って解析するオープン ソース ライブラリはありますか?
を使用しmysqlbinlog
ます。
サーバーのバイナリ ログは、データベース コンテンツの変更を説明する「イベント」を含むファイルで構成されます。サーバーはこれらのファイルをバイナリ形式で書き込みます。それらの内容をテキスト形式で表示するには、mysqlbinlog ユーティリティを使用します。リレー ログはバイナリ ログと同じ形式であるため、mysqlbinlog を使用して、レプリケーション セットアップでスレーブ サーバーによって書き込まれたリレー ログ ファイルの内容を表示することもできます。
ソース: https://dev.mysql.com/doc/refman/5.6/en/mysqlbinlog.html
https://github.com/monothorn/mysql-parserを使用できます 。Python の sqlparse に基づいています。binlog 行フォーマットが有効になっているため、 https://github.com/noplay/python-mysql-replicationをチェックアウトできます。
次のコマンドを使用して、bin-log ファイルを読み取ることができます。
read -p "Enter the Log File Name : " logfilename; mysqlbinlog $logfilename | grep -i ^use | sort | uniq -c | sort -rn