4ノードのMySQLクラスターのバイナリログから有用な情報を取得しようとしていますが、無駄です。テストとして、マスターで午前11時1分に手動でUPDATEステートメントを実行しました(テーブル内の一部のデータは正常に変更されました)。残念ながら、実行されたステートメントをmysqlbinlogに表示させることができません。
--verboseオプション、-hexdumpオプション、および--base64-output =DECODE-ROWS--verboseを試しました。私が何をしても、実際のステートメントはまだエンコードされているようです(または、UPDATEがあるはずのときにINSERT INTOがあります)。
以下は、-base64-output =DECODE-ROWS--verboseオプションが指定された11:01amテストの関連する出力です。UPDATEステートメントがどこにも見つからないのはなぜですか?また、データベースがINSERT INTOに最適化した場合、少なくとも元のステートメントのテーブル名とその他の部分が表示されないのはなぜですか?
# at 1744
#121213 11:01:56 server id 1 end_log_pos 1808 Query thread_id=0 exec_time=0 error_code=0
SET TIMESTAMP=1355425316/*!*/;
BEGIN
/*!*/;
# at 1808
# at 1899
# at 1961
# at 2022
#121213 11:01:56 server id 1 end_log_pos 1899 Table_map: `source_words`.`players` mapped to number 1826
#121213 11:01:56 server id 1 end_log_pos 1961 Table_map: `mysql`.`ndb_apply_status` mapped to number 1817
#121213 11:01:56 server id 1 end_log_pos 2022 Write_rows: table id 1817
#121213 11:01:56 server id 1 end_log_pos 2071 Write_rows: table id 1826 flags: STMT_END_F
### INSERT INTO mysql.ndb_apply_status
### SET
### @1=1
### @2=14197993649471490
### @3=''
### @4=0
### @5=0
### INSERT INTO source_words.players
### SET
### @1='834770J\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00\x00\x17yê\x00\x00\x17yê\x00\x00 \x00\x00\x00\x00\x00\x00\x00À'
### @6=0
# at 2071
#121213 11:01:56 server id 1 end_log_pos 2136 Query thread_id=0 exec_time=0 error_code=0
SET TIMESTAMP=1355425316/*!*/;
COMMIT
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
ありがとう、ロブ