mysql恢复修改数据库,mysql恢复修改的数据

交换机 16 0

大家好,今天小编关注到一个比较有意思的话题,就是关于mysql恢复修改数据库问题,于是小编就整理了3个相关介绍MySQL恢复修改数据库的解答,让我们一起看看吧。

  1. MySQL数据库丢失后如何自动恢复呢? ?
  2. MySQL数据库备份和还原的常用命令?
  3. 如何将mysql中的数据库导出?

Mysql数据库丢失如何自动恢复呢? ?

先分析一下,为啥丢失数据,因为操作删,还是数据库挂了,因为操作删,可以备份,做备份的原理就是,数据库主从复制,有mycat插件,原理就是用日志。达到主从***,其次,如果是数据库挂了。首先mySQL是持久化存储重启就行,但是会丢失挂了未提交的事物。这得需要数据库意外的数据来支持数据库恢复数据。系统日志啊,所以个人觉得,日志很重要。

首先看看是什么丢失,是db 还是drop/truncate table ,如果这样可以用备份来恢复,如果是delete table 有备份可以用备份恢复,没有备份可以通过binlog 反项解析来进行恢复

mysql恢复修改数据库,mysql恢复修改的数据-第1张图片-周健民数据恢复中心
图片来源网络,侵删)

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

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

mysql恢复修改数据库,mysql恢复修改的数据-第2张图片-周健民数据恢复中心
(图片来源网络,侵删)

接着重启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不存在:

mysql恢复修改数据库,mysql恢复修改的数据-第3张图片-周健民数据恢复中心
(图片来源网络,侵删)

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

MySQL数据库备份和还原的常用命令?

1.备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

2.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

如何将mysql中的数据库导出?

、打开命令行,在命令行里输入mysql,然后按回车就可以打开mysql的命令了。要注意的是区分大小写,不能输入Mysql。

2、进入命令后,可以使用use命令来转到我们要查看的数据库。

3、切换了数据库后,我们就可以查看这个数据库的表数据了。通过select语句就可以查询表数据了,但要注意的是每条语句要以分号结束,否则就当语句还没结束。会等待输入。

4、以分号结束语句后,按回车键就能得到从MySQL数据库中导出整个数据库了。

到此,以上就是小编对于mysql恢复修改数据库的问题就介绍到这了,希望介绍关于mysql恢复修改数据库的3点解答对大家有用。

标签: 数据库 mysql 恢复