不能再手贱了,用mysqlbinlog恢复数据

今天本地部署一个新项目,结果不小心把另外一个库的表全删了,当时那个心啊,用了一些硬盘恢复的工具也没找回来,只好想别的办法了,还好记录了binlog,总算是把数据都还原了。以后真的要看清楚再删,还好是本地的文章库,不是服务器上的库,要不真就麻烦了,不过也正是因为是自己电脑上的库,从来不备份的,所以恢复起来也确实麻烦。在这里记录一下。

先确认你的MYSQL有没有启用bin日志,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin,可以自定义一个目录和前缀名,比如/data/log/mylog这样。

然后在数据库文件存放的data目录就能看到mysql-bin.00000x这样的文件,这就是二进制日志了,我们可以导出成txt格式的,里面其实就是对数据库的各种操作SQL语句。

导出txt文件:

E:\wamp\bin\mysql\mysql5.6.12\bin>mysqlbinlog --database=testdatabase E:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000312 > C:\\test1.txt

这是WINDOWS下的导出,linux也是类似的。

*--database=数据库名

*从最早的日志还始还原

*linux下可以很方便的mysql-bin.000*

*可以加参数开始时间和结束时间,就是你执行那条SQL语句的时间

*--start-datetime="2014-12-04
11:25:56" --stop-datetime="2014-12-04 13:23:50"

恢复数据:

E:\wamp\bin\mysql\mysql5.6.12\bin>mysqlbinlog --database=yundongchao E:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000179 | mysql -u root -p

------------------------------------------------

我的独立博客:壊小子
http://www.zyblog.net/

本文链接:http://www.zyblog.net/post-178.html

健身潮:http://www.jianshenchao.com

欢迎转载,转载请注明本文来源。

时间: 2024-08-25 17:40:51

不能再手贱了,用mysqlbinlog恢复数据的相关文章

使用mysqlbinlog恢复数据

一.开启bin-log 1.安装mysql [[email protected] ~]# yum -y install mysql mysql-devel mysql-server 2.开启bin-log功能 [[email protected] ~]# vi /etc/my.cnf       1 [mysqld]       2 datadir=/var/lib/mysql       3 socket=/var/lib/mysql/mysql.sock       4 user=mysql

mysqlbinlog 恢复数据的四种方法

mysqlbinlog 命令 作用:mysqlbinlog 是用来解析mysql的binlog日志的. [[email protected] data]# file mysql-bin.000001 mysql-bin.000001: MySQL replication log [[email protected] data]# mysqlbinlog日志无法直接用cat 查看,需要用mysqlbinlog命令转换为普通文件才能查看 也只有用mysqlbinlog命令把binlog日志转化为普通

mysqlbinlog恢复数据

# 查看当前binlog状态 show master status\G; # mysql中查看指定binlog信息 show binlog events in 'mysql-bin.000010'; # 查询指定时间段内/位置的删除语句 mysqlbinlog --no-defaults --start-datetime='2020-03-03 07:00:00' --stop-datetime='2020-03-03 07:30:00' mysql-bin.000003 -d dbname -

[转] 使用 MYSQLBINLOG 来恢复数据

使用 MYSQLBINLOG 来恢复数据 2009-04-05 12:47:05 标签:mysql mysqlbinlog 恢复 数据库 数据 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/146259 BINLOG就是一个记录SQL语句的过程,和普通的LOG一样.不过只是她是二进制存储,普通的是十进制存储罢了.1.配置文件里要写的东西:[mysqld]log-bin=

webstorm 不知道手贱点了什么,有时候会自动删除分号

https://segmentfault.com/q/1010000009184137?_ea=1845711 webstorm 不知道手贱点了什么,有时候会自动删除分号 webstorm javascript 繁忙的耗子 4月25日提问 关注 4 关注 收藏 0 收藏,470 浏览 问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 怎么恢复过来? 4月25日提问 评论 邀请回答 编辑 默认排序时间排序 3个回答 答案对人有帮助,有参考价值0答案没帮助,是错

手贱的回忆录 --- L版openrc密码修改(OS_PASSWORD)

---恢复内容开始--- 刚刚部署完L版,发现默认登录的管理员账号在41.42.43的openrc文件中,登录名是admin,登录密码却是一串随机码,于是想修改一个简单易记的密码,手贱的把OS_PASSWORD修改为了Abcd1234,三个API节点都这么搞了一下,然后就杯具了,从此无法登录页面,且没有admin权限做任何补救操作,后经成坤操作,问题被瞬秒,以下为操作过程,供参考: 登录到41节点,打开openrc文件,注销掉Rescue model之上的所有内容,仅留下以下内容: export

使用 MYSQLBINLOG 来恢复数据

2009-04-05 12:47:05 标签:mysql mysqlbinlog 恢复 数据库 数据 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/146259 BINLOG就是一个记录SQL语句的过程,和普通的LOG一样.不过只是她是二进制存储,普通的是十进制存储罢了.1.配置文件里要写的东西:[mysqld]log-bin=mysql-bin(名字可以改成自己的,如

使用mysqlbinlog恢复指定表

一.登录数据库刷新binlog1.1)查看当前的binlogMySQL> show master status;+---------------------+----------+--------------+------------------+-------------------+| File                | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+-----------------

CentOS下利用mysqlbinlog恢复MySQL数据库

如果不小心对数据库进行误操作,而又没有及时备份怎么办?这恐怕是广大的coder经常遇到的一类问题.我今天就因为不小心删除了某个数据库,但最后的备份是1个礼拜前的,唯一能解决的办法就是通过mysqlbinlog来恢复了.解决方案如下: 如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始(例如,从你最后一次备份)直到现在或另一个指定的时间点的数据.关于启用二进制日志的信息,参见5.11.3节,"二进制日志".对于mysqlbinlog的详细信