博彩网有连码:MYSQL二进制日志bin-log开启、查看、使用(恢复数据)详解

1、开启bin-log二进制日志:

连码四七靠三活猜生肖 www.dvwa8.cn  

my.ini 配置文件 查到或添加:

log-bin=mysql-bin

 

my.cnf配置文件添加:

server-id = 1

log-bin=mysql-bin

 

注意:配置文件修改保存后,一定要重启mysql;

 

二、查看bin-log二进制日志:

 

1、查看是否启用了二进制日志?

  1. mysql>show?variables?like?'log_bin';

show variables like 'log_bin';

 

2、?查看所有二进制日志文件的列表,请使用以下语句:

  1. mysql>?SHOW?BINARY?LOGS;

SHOW BINARY LOGS;

 

3、查看当前二进制日志文件的名称,请使用以下语句:

  1. mysql>?SHOW?MASTER?STATUS;?

SHOW MASTER STATUS;

 

三、使用bin-log二进制日志(恢复数据):

下面介绍几个bin-log二进制日志常用的sql命令:

(1)、flush logs; 会多一个最新的bin-log日志

(2)、show master status; 查看最后一个bin-log日志的相关信息

(3)、reset master; 清空所有的bin-log日志

 

1、我们先看一下bin-log日志放在哪里?

windos服务器,一般直接放在mysql/data目录下;

linux服务器,有的是放在mysql/data目录下的,有的却是在/var/lib/mysql;而且data目录可以自定义的。

 

2、查看bin-log二进制日志文件具体内容:

二进制日志用记事本、编辑器、vi或vim等等打开都是乱码的,必须用mysqlbinlog才能正确打开。

 

windos下直接“开始-运行-cmd”,执行:

F:\wamp64\bin\mysql\mysql5.7.14\bin\mysqlbinlog F:\wamp64\bin\mysql\mysql5.7.14\data\mysql-bin.000001

 

linux下直接执行:

cd?/var/lib/mysql

/usr/local/mysql/bin/mysqlbinlog --no-defaults mysql-bin.000001

 

注意:上面路径请根据自己的情况做修改;二进日志我把最主要的东西截图如下,因为这些东西对后面的恢复数据有着重要的依据;

 

mysql查看bin-log二进制日志文件

 

mysql查看bin-log二进制日志文件

 

3、利用bin-log二进制日志文件恢复数据:

mysql二进制日志文件恢复数据有两种方式:使用事件时间的时间点恢复和使用事件位置的时间点恢复;

 

(1)使用事件时间的时间点恢复:

要指明恢复的开始和结束时间,两个选项参数是: --start-datetime和 --stop-datetime;

语法格式:mysqlbinlog [参数] DATETIME

 

例如,假设在2017年4月20日上午10:00,执行了一个删除了一个大表的SQL语句。要还原表和数据,可以恢复前一天的备份,然后执行以下命令:

  1. shell>?mysqlbinlog?--stop-datetime="2017-04-20?9:59:59"?\??
  2. ?????????/var/lib/mysql/mysql-bin.000001?|?mysql?-u?root?-p??

 

如果您还需要恢复2017年4月20日上午10:00之后发生的活动??梢杂妹睿?/p>

  1. shell>?mysqlbinlog?--start-datetime="2017-04-20?10:01:00"?\??
  2. ?????????/var/lib/mysql/mysql-bin.000001?|?mysql?-u?root?-p??

 

(2)使用事件位置的时间点恢复:

而不是指定日期和时间, --start-position 和--stop-position选项 可用于指定日志位置。它们的工作方式与--start-datetime和?--stop-datetime选项相同,只是指定日志位置数字而不是日期。使用可能会使您更准确地了解日志的哪个部分进行恢复,特别是如果许多事务发生在与SQL语句相同的时间内。

 

要确定位置号码,请在执行不需要的事务的时间范围内运行 mysqlbinlog,但将结果重定向到文本文件进行检查。你可以这样做:

  1. shell>?mysqlbinlog?--start-datetime="2017-04-20?9:55:00"?\??
  2. ?????????--stop-datetime="2017-04-20?10:05:00"?\??
  3. ???????????/var/lib/mysql/mysql-bin.000001?>?/tmp/mysql_restore.sql??

该命令/tmp在执行有害SQL语句的时间内在包含SQL语句的目录中创建一个小文本文件 。使用文本编辑器打开此文件,并查找您不想重复的语句。

 

确定二进制日志中的位置以停止并恢复恢复并记下它们。位置被标记为 log_pos后跟一个数字?;指匆郧暗谋阜菸募?,使用位置号来处理二进制日志文件。例如,您将使用如下命令:

  1. shell>?mysqlbinlog?--stop-position=368312??/var/lib/mysql/mysql-bin.000001?\??
  2. ?????????|?mysql?-u?root?-p??
  3. shell>?mysqlbinlog?--start-position=368315??/var/lib/mysql/mysql-bin.000001?\??
  4. ?????????|?mysql?-u?root?-p?

第一个命令恢复所有交易,直到给定的停止位置。

第二个命令从所给出的起始位置恢复所有事务,直到二进制日志结束。由于mysqlbinlog的输出 SET TIMESTAMP在每个SQL语句记录之前都包含语句,恢复的数据和相关的MySQL日志将反映执行事务的原始时间。

    A+
发布日期:2017年09月13日  所属分类:Mysql
最后修改时间:2017-09-13 19:14
评分: (2 票;平均数5.00 ;最高评分 5 ;用户总数2;总得分 10;百分比100.00)
付杰
PHP运行环境 Wamp Lamp Lnmp 安装、配置、搭建服务
PHP运行环境 Wamp Lamp Lnmp 安装、配置、搭建服务
  • ¥ 9.9元
  • 市场价:49.9元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元
服务器管理面板/主机控制面板“安装”服务
服务器管理面板/主机控制面板“安装”服务
  • ¥ 9.9元
  • 市场价:49.9元
wordpress站群服务 泛解析二级域名站群 二级目录站群
wordpress站群服务 泛解析二级域名站群 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:5   其中:访客  4   博主  1

  1. 九升长啸 1

    mariadb log bin 查看 方法也是一样吧!




    0



    0
  2. 小陆 2

    log-bin=mysql-bin开启了是不是ogg就无法抽到数据?




    0



    0
  3. 双十一 2

    开了二进制日志怎么没有查到?




    0



    0
  4. 梅阁 1

    感觉很复杂的样子!




    0



    0