数据库没有备份,数据被覆盖了,如何还原?这种情况下,可以通过日志来还原。先把数据库还原到上一时间段备份的版本。然后通过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语句 |