数据库没有备份,数据被覆盖了,如何还原

数据库没有备份,数据被覆盖了,如何还原?这种情况下,可以通过日志来还原。先把数据库还原到上一时间段备份的版本。然后通过MYSQL提供的日志查看工具mysqlbinlog 来查看这指定时间段的操作记录:
如,宝塔面板下装的数据库,都开启了二进制日志,通过以下命令就可以查到2018-05-11 18:11:10 到 2018-05-11 18:30:10 这段时间的 数据库的操作记录
/www/server/mysql/bin/mysqlbinlog --start-datetime="2018-05-11 18:11:10" --stop-datetime="2018-05-11 18:30:10" /www/server/data/mysql-bin.000004

或者直接导出到文件:
/www/server/mysql/bin/mysqlbinlog --start-datetime="2018-05-11 18:11:10" --stop-datetime="2018-05-11 18:30:10" /www/server/data/mysql-bin.000004 > /www/mysql.log 

 

 

/www/server/mysql/bin/mysqlbinlog  --start-datetime="2018-06-07 22:10:48" --stop-datetime="2018-06-23 12:00:00" /www/server/data/mysql-bin.000009 --base64-output=DECODE-ROWS -v> /www/mysql.log 

注:默认配置的是 Mixd (混合)模式的,不带下面参数部分SQL会以Base64编码出现。
--base64-output=DECODE-ROWS: 会显示出row模式带来的sql变更。
-v :显示statement模式带来的sql语句

你可能感兴趣的:(数据库专区)