0 如果有mysql-bin,找回数据是可以的,在cmd下执行(linux下使用同等类似实现)
cd d:\program files\mysql\data
mysqlbinlog -d test --start-datetime="2004-12-25 11:25:56" --stop-datetime="2012-12-26 11:25:56" --base64-output=DECODE-ROWS mysql-bin.000001 mysql-bin.00000n > e:\t.sql
1 说明:
这是输出日志为可执行的sql格式,然后通过mysql或其它工具执行这个sql即可
-d test 是指定数据库,如果要导出全部数据库的执行语句,去年该选项
--base64-output=DECODE-ROWS 是为了适应mysql server设置binlog_format=row的情况的,一般使用该值即可;
mysql-bin.000001 mysql-bin.00000n 把你的bin文件名全部列出来,有几个列几个(linux下可以使用通配符 mysql-bin.[0-9]*)
--start-datetime 这是为了设定恢复的时间段的,如你只需精确地导出某天的执行语句,可通过指定它来实现。
最后一点,请备份数据库后,再执行导出的sql文件,然后检查数据情况。