mysqlbinlog数据恢复 mysql在没开启binlog时没有备份数据,在binlog开启之后删除几条数据,这样不能恢复数据是吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能 但是需要binlog是row格式 不开启binlog就是没戏 binlog 中能查到的是开 binlog 后的操作所以,如果你要恢复开启 binlog 后删除的几条数据,那是可以的,如果你是要从 binlog 恢复所有的数据(也就是开启前的数据),那是不可能的 在binlog开启之后删除几条数据,能恢复数据前提是开启前必须有个全备。 我在开启之前没做全备,开启之后恢复执行删除的事物区间,或日志区间,这个区间是个delete语句,怎么恢复?? 需要binlog是row格式 mysqlbinlog 日志文件名 -v --base64-output=decode-rows这个可以把你的 delete 语句解析出来,你可以看到类似这样的东东### DELETE FROM `xx`.`xx`### WHERE### @1=1其中 WHERE 部分包含了所有的列值 ,得到这个之后,把语句改成INSERT xxSET 就行了,写个小程序或小脚本实现还是容易的 mysql 触发器更新本表问题 关于count聚合函数用法的困惑 mysql如何导入大的.sql文件?? MYSQL里如何判断返回true或false 关于PostgreSQL的一个问题 一个SQL2005转MYSQL2005存储过程的问题 多台计算机同时向数据库导数据,会出问题吗? MYSQL中数据记录15亿条... 如何分离中文及英文 mysql查询版本,linux指令和sql查询出来的版本不一致,哪一个是准确的 求问,关于sql函数的问题 mysql的自增与不自增,求解。(insert into a values(select max(id)+1 from a))
所以,如果你要恢复开启 binlog 后删除的几条数据,那是可以的,如果你是要从 binlog 恢复所有的数据(也就是开启前的数据),那是不可能的
前提是开启前必须有个全备。
mysqlbinlog 日志文件名 -v --base64-output=decode-rows
这个可以把你的 delete 语句解析出来,你可以看到类似这样的东东
### DELETE FROM `xx`.`xx`
### WHERE
### @1=1
其中 WHERE 部分包含了所有的列值 ,得到这个之后,把语句改成
INSERT xx
SET
就行了,写个小程序或小脚本实现还是容易的