mysql能撤销还原_MySQL-有什么办法可以方便的撤销mysql中的一次误操作?

我估计你如果没有数据备份的话就只能通过mysql的binlog来处理了,如果没有binlog,那就没戏了,如果有的话,你可以参考一下下面的方法:

在MySQL的my.ini(或my.cnf,视操作系统不同而不同)添加:

[mysqld]

log-bin=binlogname(名字随便取)

然后需要重启MySQL服务才能生效

可以通过命令“show binlog events;”查看配置是否成功

通过mysqlbinlog恢复MySQL数据的两种方法:

(1)时间date

通过cmd运行到binlog所在的目录,再录入:

mysqlbinlog --stop-date="2011-02-27 12:12:59" jbms_binlog.000001 | mysql -uroot -proot (回车)

恢复到2011-02-27 12:12:59之前的数据,如果是start-date,即从该时间点后的开始算起

(2)位置position:

先将binlog日志转换成txt:

mysqlbinlog --start-date="2011-02-27 13:10:12" --stop-date="2011-02-27 13:47:21" jbms_binlog.000002 > temp/002.txt

功能是将时间段内的日志文件转换成txt,注意binlog和temp文件夹是同一目录下。

查看生成的txt文件,获取编辑位置和时间等数据,然后通过命令:

mysqlbinlog --stop-position="98" jbms_binlog.000002 | mysql -uroot -proot

即可恢复位置为“98”处操作的数据,其中stop也可以换成start。

注意:如果通过drop table name;将表删除,要想恢复数据,必须建立一个表名、字段和数据类型相一致的空表,否则数据无法恢复,报表不存的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值