mysql数据库丢失还原_MySQL数据库丢失后如何自动恢复呢?
这里介绍一种简单的方法,就是开启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数据库丢失后如何自动恢复呢?相关推荐
- mysql数据库咋还原_mysql数据库备份和还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- mysql异地备份原理_Mysql数据库异地备份
Mysql数据库异地备份 一. 简介 1.1 增量备份简介 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味着,第一次增量备份的对象是进行全 ...
- mysql英文版数据库备份方法_mysql数据库太大了如何备份与还原
命令:mysqlhotcopy 这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法. 命令的使用方法是: mysqlhotcopy -u ...
- mysql还原数据库名一样_MySQL数据库的多种备份与多种还原
一.备份 1.mysqldump 方法备份 mysqldump备份很简单,格式如下: mysqldump -u用户名 -p密码 数据库名> XX.sql 路径 例如: mysqldump -ur ...
- mysql还原数据库报错_MySQL数据库还原
当数据库中的数据,遭到破坏时,可以通过备份好的数据文件进行还原 还原 是指还原数据库中的数据,然后,库是不能被还原的 备份文件,实际上就是由多个CREATE.INSERT和DROP语句组成,因此,只要 ...
- mysql 数据库还原_MySQL数据库备份和还原的常用命令
备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库 ...
- mysql 数据库表重建_mysql 数据库表重建
数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败 问题描述 主库的create table语句传到备库,备库SQL线程执行过程中报错: Erro ...
- mysql试题百度云_MySQL数据库无完整备份删库,除了跑路还能怎么办?
1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...
- mysql数据库表重建_mysql数据库表重建
数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败 问题描述 主库的create table语句传到备库,备库SQL线程执行过程中报错: Erro ...
- mysql 数据库引擎介绍_MYSQL 数据库引擎介绍
一般来说,MySQL有以下几种引擎:ISAM.MyISAM.HEAP.InnoDB和Berkley(BDB).注意:不同的版本支持的引擎是有差异的.当然啦,如果你感觉自己的确技术高超,你还能够使用My ...
最新文章
- 简析Instgram的搜索架构
- 后台开发经典书籍--Redis深度历险:核心原理和应用实践
- java8 stream中的惰性求值
- 8.程序什么时候应该使用线程,什么时候单线程效率高?
- replace和replaceAll
- 升级php5.4 mysql5.5_在CentOS上把PHP从5.4升级到5.5
- mysql推荐内存_MySQL大内存配置方案 如my-medium.ini、my-huge.ini等
- Pycharm选择pyenv安装的Python版本
- 再谈MySQL全库备份
- 图像语义分割之特征整合和结构预测
- 多方安全计算、联邦学习、可信计算 对比区别
- 斗战神服务器正在维护6,斗战神6月5日维护公告
- 软件测试jmeter面试问题,jmeter 面试题剖析实战
- Scala安装教程(windows和linux)
- 测试你适合的发型软件叫什么,有没有测试发型的app 测试自己适合什么发型
- 北航2022软件工程第二次作业——产品评测、分析与规划
- tom猫变声原理解析
- 宽带无法远程连接到计算机,登录校园宽带是显示不能建立远程计算机连接,在别的电脑可以登录 是为什么?...
- axios与拦截器的简单结合
- matlab 矩阵命令,matlab矩阵运算命令
热门文章
- 什么是数字证书?数字证书在哪办理?
- JAVAweb JSP飞机订票系统航空机票预订销售系统(机票预订系统)
- html视频长宽代码,html插入视频,html添加视频的代码
- 图解设计模式,看完秒懂!!!
- 计算机桌面图标被挡怎么办,win7电脑桌面图标被挡住怎么恢复 - 卡饭网
- jQuery 进度条实现
- Mac安装Xcode
- c语言程序设计贪吃蛇报告,C语言“贪吃蛇”程序设计报告.doc
- win7与internet时间同步出错_windows7 internet系统时间同步出错超时怎么办?国内NTP时间同步服务器地址...
- 用异常处理改编猜数游戏程序