mysql数据库恢复

今天头脑发晕,把mysql的一个数据库删除了,其实也是被 navicat坑了一把,本地某A库连接不上就以为配置有问题,顺手把A删除了,结果删除倒是好使,连不上但是能删除!也是闹心,正式库没了,数据没了,头脑一片空白。。。思索几秒钟,对了!我备份过数据,赶快去找备份,。。。只是一个月前的备份数据,中间忘记备份了。。。又是一片空白。。。网上各种搜索如何恢复mysql数据库,说的最多的是采用 mysqlbinlog这种方式,又是一顿摸索,终于大功告成!!!!此处好激动。。。
场景:数据库被删除,有一个月前的备份数据,需要将固定时间段内(以下简称A区间)的数据补齐。
》1.创建被删除的库
》2.导入备份的数据
》3.开始恢复A区间数据
3.1 确认是否开启数据日志记录功能( binlog功能):
在/xxxx.../mysql/data 中查找到 此文件:mysql-bin.000002,最晚的文件是最新的。
3.2 可以直接查看此文件:
[root@iZ11xgvfhr6Z data]# mysqlbinlog mysql-bin.000002
linux控制台会打印里面的内容,其实就是一些数据库操作sql
3.3 如果存在则比较幸运,可以进行恢复
恢复命令(很重要,A区间就是开始时间,结束时间,恢复此段内的所有数据):
mysqlbinlog --start-datetime='2017-08-13 00:00:00' --stop-datetime='2017-09-03 00:00:00' /xxx/server/mysql-5.1.73/data/mysql-bin.000002 |mysql -uroot -p密码;
3.4 以上操作均在linux 用户登录情况下操作,无需进入mysql环境
3.5 执行完成后,无任何提示,如果区间选择不正确,可以会插入以前数据,报主键冲突,重新核对下时间区间和数据即可。
3.6 也可以将此日志文件另存为sql文件,方便定位里面的数据,如果执行异常会报某一行错误,这个时候可以查询此sql文件
保存命令: mysqlbinlog --start-datetime='2017-08-13 00:00:00' --stop-datetime='2017-09-03 00:00:00' /alidata/server/mysql-5.1.73/data/mysql-bin.000002 > 1111.sql
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值