windows mysql数据库备份_【windows】环境下mysql的数据备份以及恢复

【windows】环境下mysql的数据备份以及恢复

无论是刚刚入行的‘猿友’还是入行很久的‘老猿’,我相信都会遇到过因为各种原因(很多情况下是自己误删了数据库)的操作.drop databases xxxxx

而误删了线上项目的数据库是一件很恐怖的事情,那么如果大家遇到这种情况怎么办呢?首先不要着急(我感觉说了也白说-,-),先看一看自己的mysql是否开启了binlog日志功能,如果没有???game over !!!

关于查看binlog日志有没有开启,请到自己的Mysql文件下找my.ini中的[mysqld],里面是否有log-bin=mysql-bin,有则表示开启了(没有开启的赶紧开启,不然都没后悔药吃!!!)

为了方便新手阅读,在此我从数据备份开始讲。

【数据备份】

首先我们先建一个测试用的数据库drop_test

并在drop_test中新建一张test表,表内容随意(反正是测试用的)

数据内容如下

fd9ee3175ca3aa5aa8d04d944a538abc.png

在确保了binlog开启了之后,在mysql文件夹中的bin文件夹中有一个mysqldump.exe,这个就是常用的数据库备份工具之一,我们执行此程序,备份我们的drop_test数据库

执行语句:mysqldump -uroot -p -B -F -R -x --master-data=2  drop_test  >  d:\backups\drop_test_bac.sql;这是完全备份,用于备份此语句执行时(到这时刻为止)的数据库数据

74bb84d1b61aa551c94da316676111ac.png

输入密码后,即可在D:\backups目录下看到文件drop_test_bac.sql

e84e6c31b6b89eeef235abefba442e12.png

我们可以打开看看,发现里面存了数据库drop_test的表信息以及表内容

假如我们在备份之后,又操作了数据库(往drop_test数据库中增加了内容)

5df12797663e455f19093c9401485adb.png

而这个时候,我们误删除了数据库drop_test(悲剧的执行了drop  database  drop_test),导致数据库drop_test没了!!!

4dbd0dc28596e284db6ab02a7efcb0b6.png

这个时候不要慌,首先我们先从备份的数据库文件中还原数据

执行语句:mysql -uroot -p > d:\backups\drop_test_bac.sql

0cc9a26b68ee06418bbc28f8c1edaabc.png

执行结束后我们将发现drop_test数据库又回来了,并且里面的表还在,数据.....嗯?怎么只恢复了一部分数据?还有一部分呢?????

39a6b38da85b25484c6adc805db355db.png

我们在做备份数据库之后,又新增了一些数据,假如在新增之后我们删除了数据库,那么新增的那部分怎么办?不要急,首先我们打开drop_test_bac.sql,找到类似-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000009', MASTER_LOG_POS=107;这句话,这句话告诉我们,将那些新增的数据保存在了mysql-bin.000009的第107节点里,接下来我们就要考虑从这里恢复我们的数据。

这个mysql-bin.000009在我们的mysql文件夹中的data文件夹里(我的是phpstudy环境,默认在这里),我们先拷贝到d:\backups文件夹里

4c5ac96f42f02b70b97cb8b0a8b39bf6.png

通过mysqlbinlog命令将mysql-bin.000009二进制文件转成sql文件(刚开始我的mysql的bin文件夹里没有mysqlbinlog工具,我是到网上下了一个,如果没有的同学可以问我要,也可以自己网上找)

执行语句:mysqlbinlog -d drop_test d:\backups\mysql-bin.000009 > d:\backups\009bac_bin.sql

e4c498ad91977a9c83b5307aa1030642.png

执行结束后我们在d:\backups文件夹里会生成009bac_bin.sql文件

febdbd69aff004d694e428f3cd432d04.png

将此文件里的drop操作删除(不然恢复了又直接删除了-,-)

接下来就是恢复此文件数据了

执行语句:mysql -uroot -p > d:\backups\009bac_bin.sql

数据恢复完成!!!

72409f5c79456fd19bccf8d2c5f5ea17.png

PS:第一次发微博,有些地方写得不好的地方欢迎大家指出!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值