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

mysql通过bin-log日志恢复

2016-04-01 14:47 393 查看
我们同事在操作数据库的时候不小心删除了一个表里面的内容,这些个内容全是储存的一些用户信息,而且我所在公司也一直没有对数据库进行备份,所以但是就闷逼了,还好开启了bin-log。

恢复是我也遇到了不少问题,首先就盲目的在网上找,网上写的东西都不全,都是给的你一条命令,且并没有解释命令的含义是什么,所以造成花了不少时间,

mysql的bin-log是一个实时同步日志操作的文件,就是说当你把某个数据库下的表删除了也会被记录下来,所以恢复恢复的命令中要加参数--stop-datatime这个参数是在你删除这个数据库之前,例如你在早上9点1分的时候吧数据删了,那你就要指定在这个时间之前的时间,例如9:00 再一个就是恢复数据库的时候一定要知道bin-log恢复只能恢复整个库,就是说例如你有一个库叫test,在这个库下有tesr_table这个表,你不小心吧这个表里面的内容删了,然后直接回复是不成功的,需要的是吧这个数据库整个删除再恢复下面是我恢复时用的命令:

mysqlbinlog --database=MYSQLDATA_test(你要恢复的库名称) --stop-datatime="2016-04-01 09:30:23"(这个时间是在你删除库之前的时间) /var/lib/mysql/mysql-bin.000054(bin-log最近的一个日志) | mysql -u root -p****(指定用什么用户什么密码来操作)

:在很长时间才恢复的话建议先把这个库拷贝一份到新的库中,然后把在线上正在用的服务指定到新的库上,然后再把这个库删除恢复。恢复后把新增的数据拷到恢复的数据库上,然后重新指定数据库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: