0

我有一个启用了二进制日志记录的系统,并且每晚执行一次 mysqldump(单事务,所有 InnoDB)。如果我想执行时间点恢复,我怎么知道二进制日志中的哪个点开始前滚?例如。

bin-log.000001 包含我的 dump.sql 文件之前和之后的所有更改。如果我做:

mysql < dump.sql

要恢复到上次完全导出,然后使用以下命令前滚到最新点:

mysqlbinlog bin-log.000001 | mysql

MySQL 会知道从哪里开始吗?

4

2 回答 2

1

所以,是的,更多的研究把我带到了这里。以防万一其他人想知道。

于 2013-10-31T13:13:39.463 回答
0

查看mysqlbinlog的用法:

  --stop-datetime=name
                      Stop reading the binlog at first event having a datetime
                      equal or posterior to the argument; the argument must be
                      a date and time in the local time zone, in any format
                      accepted by the MySQL server for DATETIME and TIMESTAMP
                      types, for example: 2004-12-25 11:25:56 (you should
                      probably use quotes for your shell to set it properly).

似乎完全按照您的意愿行事。

于 2013-10-31T13:24:34.903 回答