在网站的运维过程中,对于数据库的操作是非常谨慎的,数据库对于网站的重要性使得我们对Mysql数据的管理不容有误,应该做好备份以防误删Mysql数据库,那么删除了如何恢复呢?
数据恢复思路
(1)利用全备的sql文件中记录的CHANGE MASTER语句,Binlog文件及其位置点信息,找出Binlog文件中增量的那部分。
(2)用mysqlbinlog命令将上述的Binlog文件导出为sql文件,并剔除其中的drop语句。
(3)通过全备文件和增量Binlog文件的导出sql文件,就可以恢复到完整的数据。
(4) Mysql开启了Binlog日志功能
我们以宝塔存放的数据库Binlog文件为例子,位置在于 /www/server/data,然后我们通过时间确定bin文件,如找到为mysql-bin.000007 这个文件,我们可以通过 mysqlbinlog 命令来导出为sql语句文件,在宝塔的环境下,这个命令是找不到的,我们通过用软连接的形式 ln -fs /www/server/mysql/bin/mysqlbinlog /usr/bin 链接到/usr/bin目录下就可以使用该命令了
mysqlbinlog --base64-output=DECODE-ROWS -v -d 数据库名 mysql-bin.000007 > wuyouyun.sql
然后,将生成的wuyouyun.sql进行导入数据库还原就可以了,这边我们获得了数据库的日志,新创建个数据库,然后导入即可
mysql -uroot -p -f 数据库名 < wuyouyun.sql
需要注意的是,在导出的数据库中需要删除最后的那句drop语句,不然重新导入数据库中也是空的。
客服支持
微信咨询
售后