mysql-bin.index | 今のbinログを保持するテキストファイル |
mysql-bin.00000x | binログ。mysql再起動か--flush-logsをつけてdumpした場合にはインクリメントされる |
バイナリログとあるが、実はSQLを羅列したファイル
show variables like 'binlog_format';
https://dev.mysql.com/doc/refman/5.6/ja/point-in-time-recovery.html
binlogが別れていても一度に復旧させないと不整合の元になる。
mysqlbinlog binlog.000001 | mysql -u root -p mysqlbinlog binlog.000002 | mysql -u root -p
mysqlbinlog binlog.000001 binlog.000002 | mysql -u root -p
mysqlbinlog binlog.000001 > /tmp/statements.sql mysqlbinlog binlog.000002 >> /tmp/statements.sql mysql -u root -p -e "source /tmp/statements.sql"
mysqlbinlog --start-position=880 mysql-bin.000011 | more
mysqlbinlog mysql-bin.000005 --base64-output=DECODE-ROWS
From | To | 結果 |
Mariadb 5.5 | mariadb 5.5 | OK |
Mariadb 5.5 | 10.5.4-MariaDB | OK |
中国製ツール
binlogを持ってきて、接続情報もsuper admin権限必要。接続時に-dでdatabase指定できるようだが、binlogにあるやつは全部出るので意味なし!なおファイルはカレントディレクトリに持ってこないとエラー!複数ならstop-fileを指定する
python3 binlog2sql/binlog2sql/binlog2sql.py -h127.0.0.1 -P3306 -uroot -pxxxxx --start-file='mysql-bin.000002'