(转)mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

原文:http://blog.csdn.net/qq_15058425/article/details/61196085

1、开始mysqlbinlog日志功能

先找打my.cnf文件的位置:

2、编辑my.cnf文件,添加如下内容,然后按ecs, wq保存退出

3、这样的话mysqlbinlog功能就打开了。再根据mysql日志恢复数据库

4、查看日志文件,我的日志文件在数据库文件的data目录:

5、通过mysqlbinlog来查看日志文件里面的内容:

a.先找到mysqlbinlog的目录

b.在该目录下查看日志文件:

日志文件:

这样的日志文件除了创建表和删除表的sql外,操作数据库的语句都加密了,要想看到具体的sql,用如下命令:

日志文件:

6、根据时间点恢复数据库:

目前我的zz数据库中的in表中的记录已经删除了,现在根据位置来恢复数据库:

查看最新的日志,18

插入表的地方:

最后一条记录commit的地方:

根据这两个地方执行恢复:

查看数据库:恢复成功:

根据时间点恢复:

效果一样,完成!

时间: 2024-11-11 14:09:53

(转)mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux的相关文章

巧用Mysqlbinlog恢复数据库数据

关于binlog的详解请参考:http://zlyang.blog.51cto.com/1196234/1833062 binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句.语句以"事件"的形式保存,它描述数据更改.当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回(前提是已经配置好了binlog),接下来我们来配置 一.开启mysql-binlog日志 在mysql配置文件my.cnf加上如下配置 [mysqld] log-bin=mysql-

CentOS下利用mysqlbinlog恢复MySQL数据库

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

今天本地部署一个新项目,结果不小心把另外一个库的表全删了,当时那个心啊,用了一些硬盘恢复的工具也没找回来,只好想别的办法了,还好记录了binlog,总算是把数据都还原了.以后真的要看清楚再删,还好是本地的文章库,不是服务器上的库,要不真就麻烦了,不过也正是因为是自己电脑上的库,从来不备份的,所以恢复起来也确实麻烦.在这里记录一下. 先确认你的MYSQL有没有启用bin日志,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin,可以自定义一个目录和前缀名,比如/data

使用mysqlbinlog恢复指定表

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

Mysql binlog日志及binlog恢复数据库操作

初识MySQL 日志binlogMySQL重要log,二进制日志文件,记录所有DDL和DML语句(除select),事件形式记录,包含语句所执行的消耗时间,事务安全型.DDL(数据库定义语言),主要命令有create.alter.drop等.DDL主要定义或改变表table的结构.数据类型.建表时使用.MDL(数据操纵语言),主要命令有select.update.insert.delete. mysqlbinlog常见选项:--start-datetime:从二进制中读取指定时间戳.--stop

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日志转化为普通

mysql 从sql存储文件恢复数据库乱码

场景一: 一台电脑上导出的sql文件到另一台电脑上恢复数据库,汉字全部是乱码,然后可能还有部分数据提示超长. 场景二: 拿到的sql文件不是原始的导出sql文件,只有表结构和表数据,出现的问题和场景一的一致. 本人的MySQL数据库版本是5.6的. 原因排除.......源自百度搜索结果,可能部分结果根本没起作用. ①.检测字符集: MySQL执行命令:SHOW VARIABLES LIKE 'character%' 网上提供的命令结果截图是 但是本人MySQL5.6安装时已经指定编码方式utf

在windows下使用mysqlbinlog实现数据库增量导出

在windows下使用mysqlbinlog实现数据库增量导出 1. 开启mysqlbinlog 在mysql的配置文件my.ini中的[mysqld]下添加以下语句 log-bin:备份的文件目录和文件名 binlog_do_db:指定数据库名,不写即默认所有数据库 log-bin="D:/Java/beifen/name" binlog_do_db=test 2. 查看binlog日志 2.1 命令行: `mysqlbinlog "binglog文件":命令行查