質問: こちら、MySQL 5.7を使っております。 my.cnf ファイルには log-bin=mysql-bin-log max_binlog_size=1M expire_logs_days=2 と入力してバイナリログを出力しています。 ログの中身についてですが、 wMgbAAABAAAAZQAAAAAAAACZovlKFwAAAADAyRsAAAEAAABlAAAAAAAAAJmi+UobAAAAAMDKGwAA AQAAAGUAAAAAAAAAmaL5SikAAAAAwMsbAAABAAAAZQAAAAAAAACZovlKLQAAAADAzBsAAAEAAABl と入力されるところもあれば、 CREATE OR REPLACE ALGORITHM=UNDEFINED DEFINER=`app`@`192.168.100.23` SQL SECURITY DEFINER VIEW `VW_MM_01` AS SELECT ... のように見ただけでSQLだとわかるような部分もあります。 なぜこのように成るのでしょうか? SQLの長さは関係あるのでしょうか?SQLが長いほど、バイナリにならないとか。 また、Create or replace文だとバイナリにならないとか。 また、Create文 If not existsをログに出力しないとか、そういうオプションはあるのでしょうか?(ログを圧迫しているため) 知恵を拝借できればと思っております。よろしくお願いいたします。 あと、パラメータを調べたところ下記の様になりました。Mixではなさそうです。 ``` mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ 1 row in set (0.00 sec) ```
回答: ログの出力形式がMIXEDになっているのではないでしょうか。 出力形式は以下のSQLで確認できるようです。 mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format'; ※こちらを参考にしました。