进入数据库操作,难免会出现一些误操作。这时就需要我们对数据进行恢复。一下介绍一下如何将表中的内容删除后进行恢复的过程。
首先我们模拟一下实验环境:
将数据库安装好之后进入到/etc/my.cnf中
查看是否启用了日志功能(数据恢复是根据日志来进行恢复的。)
在此环境已经设置好了。
之后进入数据库中新建一个库命名未vianet_bss
进入库中并新建一个表命名为stb_active
create table stb_active (SERVER_ID char(5),SERVER_CODE char(10),SERVER_NAME char(20),SERVER_DESC char(10),STATE char(5));
然后插入几条数据
insert into可插入数据,之后表中出现几条数据后我们的数据创建成功。
然后我们利用delete from stb_active where SERVER_ID=2我们将ID为2的内容给删除,待会将它恢复。
再次查看ID为2的内容已经没有了
之后我们利用ps -ef | grep mysql检查到MySQLdata的位置位于何处,mysql-bin是放于data目录之下的。
然后进入到data目录中找到最新的那条日志查看一下。当然是乱码的需要转换成.sql后可以看见内容。
mysqlbinlog -u root -p123.com mysql-bin.000006 > /opt/backup/4.sql
然后vim /opt/backup/4.sql
找到相应的时间段,我们是在什么时候将内容删除的。
然后找到刚才我们执行删除内容的命令
并将它删除掉,此时不能进行还原如果到这里你执行了还原的话会有数据重复。所以我们要将不是我们要还原的数据给删除掉。避免重复,但要保证和数据库里面的数据要一致。
以下是没有将有效的数据从日志中删除导致的结果
之后我将这里面的数据全部删除最后重新导入一份数据进入数据恢复完成。
此实验到此结束。
第一次发表写的不是太好,还望多指教。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。