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