您的位置:首页 > 数据库 > MySQL

mysql通过binlog日志回滚数据

2013-07-12 11:00 555 查看
mysql可以通过binlog日志恢复到指定时间的数据,前提是你的mysql开启了binlog
如:
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2013-07-11 03:04:00" --stop-datetime="2013-07-12 20:55:00" /data/mysql/var_3306/mysql-bin.0000* > /tmp/game_bin.sql

选项解析:
/usr/local/mysql/bin/mysqlbinlog 使用mysql自带的命令从二进制文件binlog中导出sql文件
--start-datetime 要恢复数据的起始时间,可以精确到秒,上例中时间就是2013年7月11日3点04分
--stop-datetime 要恢复数据的截止时间,上例中的时间为2013年7月12日20点55分
/data/mysql/var_3306/mysql-bin.0000* 指定mysql生成二进制的文件路径,可以指定单个文件,也可以指定所有

这样生成sql文件就是从2013-07-11 03:04:00到2013-07-12 20:55:00的所有数据
注:
导出的sql文件会产生二进制乱码,此时需要对文件进行替换处理
文件中一般产生的乱码符号可以在vi文件中使用快捷方式ctrl+v,ctrl+2打出,然后使用全局替换为空即可。
恢复数据时需要先将原有的数据库删除,然后导入完整备份的数据库,最后导入生成的sql文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 二进制