MySQL备份还原之二使用mysqldump

时间:2023-01-08 10:18:47

1 场景描述:

  create table gyj_t1(id int,name varchar(10));
insert into gyj_t1 values(1,'AAAAA');
commit;

2 mysqldump全库备份。。。

  mysqldump -h127.0.0.1 -uroot -p  --single-transaction --master-data=2 jfedu >jfedu.sql

MySQL备份还原之二使用mysqldump

3 插入数据 并且 清空数据表

  insert into gyj_t1 values(2,'BBBBBB');
commit;
truncate table gyj_t1;

4 通过备份的文件还原

  source /home/mysql/jfedu.sql

MySQL备份还原之二使用mysqldump

此时查看数据 表里只恢复了一条数据
MySQL备份还原之二使用mysqldump

5 通过binlog恢复

通过前面备份中间中记录的binlog位置: binlog.000006 , MASTER_LOG_POS=939 
查看binlog.00006 939之后的事件:
mysql> show binlog events in 'binlog.000006';

MySQL备份还原之二使用mysqldump
由上可知,只用恢复到posion 1143 即可

进入 binlog 目录
mysqlbinlog binlog.000006 --start-position=939 --stop-position=1143 |mysql -uroot -p

6 检查数据

MySQL备份还原之二使用mysqldump