这里介绍一种简单的方法,就是开启binlog二进制日志,记录用户对MySQL数据库的所有操作(除了查询),然后通过mysqlbinlog命令导出为SQL文件(剔除drop语句),最后再恢复就行,下面我简单介绍一下操作过程,实验环境Win10+MySQL5.5。

1.首先,开启binlog功能,这个需要修改MySQL安装目录下的my.ini配置文件,在[mysqld]下面添加一行设置“log-bin = mysql-bin”就行,如下:

接着重启MySQL服务,就可以在MySQL数据目录下看到生成的日志记录文件—mysql-bin.000001和mysql-bin.index,其中mysql-bin.000001是日志文件,会自动顺序递增,记录每次数据库重启后用户的所有操作记录,mysql-bin.index是日志索引文件,记录所有的日志文件名称:

2.接着我们就可以模拟数据库误删的过程了,这里我先新建了一个db数据库,然后创建了一个test数据表,依次insert插入3条数,如下:

然后我们执行“drop database db”删除数据库,再“use db”时就会报错,如下,告诉数据库db不存在:

3.接着就是数据库恢复的过程,打开cmd窗口,运行“mysqlbinlog --no-defaults binlog日志文件路径(这里换成你的binlog文件)”命令,就可以看到我们重启数据库后所有的数据库操作记录,如下,每个操作都有唯一的对应位置,这里我们需要剔除掉drop语句,也就是恢复到958这个位置:

直接运行“mysqlbinlog --no-defaults --stop-position="958" binlog日志文件路径 > D:\test.sql”命令,就可以导出958位置之前的所有数据库记录,并重定向为一个sql文件,如下,这里你也可以使用start-position参数指定导出的起始位置:

4.最后我们再连接MySQL数据库,导入这个sql脚本就可以正常恢复数据了,如下,和原始插入的数据一样:

至此,我们就完成了MySQL数据库的自动恢复。总的来说,整个过程非常简单,只要你熟悉一下上面的操作过程,很快就能掌握的,对于一些简单的数据恢复来说,完全够用,不过建议还是在日常开发过程中做好数据库备份,在生产环境中慎重使用drop等删除语句

mysql数据库丢失还原_MySQL数据库丢失后如何自动恢复呢?相关推荐

  1. mysql数据库咋还原_mysql数据库备份和还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  2. mysql异地备份原理_Mysql数据库异地备份

    Mysql数据库异地备份 一. 简介 1.1 增量备份简介 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味着,第一次增量备份的对象是进行全 ...

  3. mysql英文版数据库备份方法_mysql数据库太大了如何备份与还原

    命令:mysqlhotcopy 这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法. 命令的使用方法是: mysqlhotcopy -u ...

  4. mysql还原数据库名一样_MySQL数据库的多种备份与多种还原

    一.备份 1.mysqldump 方法备份 mysqldump备份很简单,格式如下: mysqldump -u用户名 -p密码 数据库名> XX.sql 路径 例如: mysqldump -ur ...

  5. mysql还原数据库报错_MySQL数据库还原

    当数据库中的数据,遭到破坏时,可以通过备份好的数据文件进行还原 还原 是指还原数据库中的数据,然后,库是不能被还原的 备份文件,实际上就是由多个CREATE.INSERT和DROP语句组成,因此,只要 ...

  6. mysql 数据库还原_MySQL数据库备份和还原的常用命令

    备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库 ...

  7. mysql 数据库表重建_mysql 数据库表重建

    数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败 问题描述 主库的create table语句传到备库,备库SQL线程执行过程中报错: Erro ...

  8. mysql试题百度云_MySQL数据库无完整备份删库,除了跑路还能怎么办?

    1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...

  9. mysql数据库表重建_mysql数据库表重建

    数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败 问题描述 主库的create table语句传到备库,备库SQL线程执行过程中报错: Erro ...

  10. mysql 数据库引擎介绍_MYSQL 数据库引擎介绍

    一般来说,MySQL有以下几种引擎:ISAM.MyISAM.HEAP.InnoDB和Berkley(BDB).注意:不同的版本支持的引擎是有差异的.当然啦,如果你感觉自己的确技术高超,你还能够使用My ...

最新文章

  1. 简析Instgram的搜索架构
  2. 后台开发经典书籍--Redis深度历险:核心原理和应用实践
  3. java8 stream中的惰性求值
  4. 8.程序什么时候应该使用线程,什么时候单线程效率高?
  5. replace和replaceAll
  6. 升级php5.4 mysql5.5_在CentOS上把PHP从5.4升级到5.5
  7. mysql推荐内存_MySQL大内存配置方案 如my-medium.ini、my-huge.ini等
  8. Pycharm选择pyenv安装的Python版本
  9. 再谈MySQL全库备份
  10. 图像语义分割之特征整合和结构预测
  11. 多方安全计算、联邦学习、可信计算 对比区别
  12. 斗战神服务器正在维护6,斗战神6月5日维护公告
  13. 软件测试jmeter面试问题,jmeter 面试题剖析实战
  14. Scala安装教程(windows和linux)
  15. 测试你适合的发型软件叫什么,有没有测试发型的app 测试自己适合什么发型
  16. 北航2022软件工程第二次作业——产品评测、分析与规划
  17. tom猫变声原理解析
  18. 宽带无法远程连接到计算机,登录校园宽带是显示不能建立远程计算机连接,在别的电脑可以登录 是为什么?...
  19. axios与拦截器的简单结合
  20. matlab 矩阵命令,matlab矩阵运算命令

热门文章

  1. 什么是数字证书?数字证书在哪办理?
  2. JAVAweb JSP飞机订票系统航空机票预订销售系统(机票预订系统)
  3. html视频长宽代码,html插入视频,html添加视频的代码
  4. 图解设计模式,看完秒懂!!!
  5. 计算机桌面图标被挡怎么办,win7电脑桌面图标被挡住怎么恢复 - 卡饭网
  6. jQuery 进度条实现
  7. Mac安装Xcode
  8. c语言程序设计贪吃蛇报告,C语言“贪吃蛇”程序设计报告.doc
  9. win7与internet时间同步出错_windows7 internet系统时间同步出错超时怎么办?国内NTP时间同步服务器地址...
  10. 用异常处理改编猜数游戏程序