MySQL备份恢复之mysqldump恢复

mysqldump恢复
mysqldump恢复

恢复备份+binlog

示例:
1.做好了对于test库的备份在这里插入图片描述2.做好备份以后,又做了几个操作
(1)往test库的t1表插入了几行数据在这里插入图片描述(2)将t1表误删除在这里插入图片描述(3)新建表,插入数据在这里插入图片描述在这里插入图片描述3.当前的场景是数据库大约在九点做了一个备份,有一个表t1大约在上午11点被误删除,然后新建的一个表ceshi,并且有数据插入,要求将t1表找回来,况且ceshi表不能丢失
(1)确定表t1删除的时间,进入数据目录查看binlog在这里插入图片描述(2)我们发现在server.000021中找到了删除表t1的操作;将server.000021导出到.sql文件中在这里插入图片描述(3)查看t1.sql,找到删除表t1的位置 vim t1.sql在这里插入图片描述
可以看到binlog的位置775到890,当恢复的时候将这一部分去掉
(4)将775-900位置的binlog删除
[root@mysql1 mysql]# mysqlbinlog -vv server.000021 --stop-position=775 > t1_1.sql
//提取775之前的binlog日志
#[root@mysql1 mysql]# mysqlbinlog -vv server.000021 --start-position=890 > t1_2.sql
#//提取890之前的binlog日志

注:mysqlbinlog尽量使用绝对路径

(5)mysql -uroot -p123 test </tmp/test.sql 恢复备份数据
mysql -uroot -p123 test< t1_1.sql
#mysql -uroot -p123 test<t1_2.sql //将截取出的binlog日志恢复

mysqldump恢复几个重要的点
1.确定表被删除的时间
使用binlog最后修改时间来确认每一个binlog里面的日志时间段
结合mysqlbinlog -vv| grep -C 20 来确定具体的时间点
2.截取最后一个binlog对应的时间段
3.确定备份开始的时间点,找到对应的binlog,如果使用了-F,很容易确定备份的起点,使用文件建立时间和文件大小
4.直接进行恢复
5.追加binlog进行恢复

逻辑备份最大的问题
1.不容易确定备份的起点,也就是binlog需要恢复的起点
2.恢复速度慢,因为是单线程恢复
3.myisam表需要锁表
4.备份速度慢

逻辑备份主要用来导数

补充;如何查看主外键的引用在这里插入图片描述看图得出t14表引用的t12的主键
验证:在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值