如何在前一天恢复mysql db

时间:2013-10-18 18:48:43

标签: mysql

任何人都可以告诉我如何将mysql数据库恢复到前一天,因为脚本中发生了一些错误,并且特定参数的所有列之一受到影响请帮助,服务器版本:5.0.85-log MySQL客户端版本:5.2.10-MariaDB PHP扩展:mysqli

1 个答案:

答案 0 :(得分:0)

返回到之前的MariaDB备份,并从二进制日志重新加载,直到发生错误。如果二进制日志未激活,或者您根本没有备份,那么您就是独立的!

首先,从最新的转储文件重新加载:

mysql -u root -p < dump_file

接下来,查看转储文件以查找二进制日志坐标,并重新执行事件直到您需要的位置。

然后,查看二进制日志(使用mysqlbinlog)以查看错误发生的位置。这就是停止的地步。

例如,如果转储文件中的坐标如下:

-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.002003', MASTER_LOG_POS=96456;

,停止点是104342(这是第一个无效命令)

然后,您需要运行以下命令来恢复:

mysqlbinlog --start-position=96456 --stop-position=104342 binlog.002003 | mysql -u root -p

您可能还需要运行多个binlog - 有关更多mysqlbinlog用法和语法详细信息,请参阅https://mariadb.com/kb/en/mysqlbinlog/