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****(指定用什么用户什么密码来操作)
:在很长时间才恢复的话建议先把这个库拷贝一份到新的库中,然后把在线上正在用的服务指定到新的库上,然后再把这个库删除恢复。恢复后把新增的数据拷到恢复的数据库上,然后重新指定数据库。
恢复是我也遇到了不少问题,首先就盲目的在网上找,网上写的东西都不全,都是给的你一条命令,且并没有解释命令的含义是什么,所以造成花了不少时间,
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****(指定用什么用户什么密码来操作)
:在很长时间才恢复的话建议先把这个库拷贝一份到新的库中,然后把在线上正在用的服务指定到新的库上,然后再把这个库删除恢复。恢复后把新增的数据拷到恢复的数据库上,然后重新指定数据库。
相关文章推荐
- mysql5.6安装配置
- MySQL备份之mysqlpump工具之--hex-blob参数
- mysql table
- mysql下User表中密码修改
- MYSQL调优
- MySQL查询优化
- mysql索引总结----mysql 索引类型以及创建
- 同引擎mysql数据库转导快
- nagios监控mysql主从,并且邮件告警!
- 安装配置mysql5.7非安装zip压缩包(参考官方文档最简单流程)
- mysql使用kill命令解决死锁问题,杀死某条正在执行的sql语句
- mysql详解
- mysql 常用命令及语法
- Liunx系统 安装mysql数据库系统
- Mysql denied for user 'odbc@localhost' || denied for user 'root@localhost'
- MySQL之alter语句用法总结
- skip-grant-tables:非常有用的mysql启动参数
- Mysql之case语句(附带实例)
- 服务器慢 mysql-bin.000001文件占满磁盘的原因与解决
- mysql查询今天、昨天、7天、近30天数据