我有一个启用了二进制日志记录的系统,并且每晚执行一次 mysqldump(单事务,所有 InnoDB)。如果我想执行时间点恢复,我怎么知道二进制日志中的哪个点开始前滚?例如。
bin-log.000001 包含我的 dump.sql 文件之前和之后的所有更改。如果我做:
mysql < dump.sql
要恢复到上次完全导出,然后使用以下命令前滚到最新点:
mysqlbinlog bin-log.000001 | mysql
MySQL 会知道从哪里开始吗?
所以,是的,更多的研究把我带到了这里。以防万一其他人想知道。
查看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).
似乎完全按照您的意愿行事。