08-mysql-binlog

1 事件查看

 show master status\G 

 mysql -uroot -p123 -e "show binlog events in 'mysql-bin.000002'" 

2.内容查看

第一步  mysqlbinlog mysql-bin.000002 >/tmp/a.sql

第二步  vim /tmp/a.sql

3.详细查看

 mysqlbinlog --base64-output=decode-rows -vvv mysql-bin.000002 >/tmp/b.sql

vim /tmp/b.sql

4.日志截取恢复

1. 滚动一个新的日志
flush logs ;    
2. 模拟数据环境
mysql> create database bindb charset utf8mb4;
mysql> use bindb
mysql> create table t1 (id int);
mysql> begin;
mysql> insert into t1 values(1),(2),(3);
mysql> commit;
mysql> begin;
mysql> insert into t1 values(11),(22),(33);
mysql> commit;
mysql> begin;
mysql> insert into t1 values(111),(222),(332);
mysql> commit;
mysql> drop database bindb;
3. 数据恢复
起点: 
mysql> show binlog events in 'mysql-bin.000005';
|  219 |       332 | create database bindb charset utf8mb4 |
终点: 
| 1357 |       1452 | drop database bindb    
截取日志:
[root@db01 ~]# mysqlbinlog --start-position=219 --stop-position=1357 /data/binlog/mysql-bin.000005 >/tmp/bin.sql
恢复日志:
mysql> set sql_log_bin=0;
mysql> source /tmp/bin.sql
mysql> set sql_log_bin=1;

验证数据: 
select * from bindb.t1;

猜你喜欢

转载自www.cnblogs.com/metoyou/p/12367168.html