首页 > 数据库 >windows下mysql中binlog日志分析和数据恢复

windows下mysql中binlog日志分析和数据恢复

时间:2023-07-04 16:37:00浏览次数:49  
标签:binlog 查看 show windows 文件 mysql 数据恢复 events

1.首先查看是否开启了binlog

show variables like '%log_bin%';

 我的已经开启了,如果没开启则开启binlog

2.查看有哪些binlog文件和正在使用的binlog文件

 查看有哪些binlog文件

show binary logs;
或者
show master logs;

 查看当前正在使用的是哪一个binlog文件

show master status;

3.binlog中的事件(show binlog events)数据恢复就会使用到该命令

我们执行命令都是以事件的形式操作的

 查看所有的事件
 show binlog events;
 
 当binlog文件比较多的时候可以加条件来查看具体的某一个文件中的所有事件
 show binlog events in 'mysqlbinlog.000001';

4.创建一个数据库和一张表并插入数据之后再次查看binlog中的事件

create database binlogtest;

 创建数据库后,再查看binlog日志文件,就看到刚刚执行的创建数据库的命令事件。

 在刚才创建的数据库下面新建一张测试表并插入数据。

mysql> use binlogtest;
Database changed
mysql>
CREATE TABLE test (
  id int NOT NULL AUTO_INCREMENT,
  name varchar(10) DEFAULT NULL,
  age int DEFAULT 0,
  PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

mysql> insert into test values(1,'zhangsan',20);
Query OK, 1 row affected (0.01 sec)

mysql> insert into test values(2,'lisi',30);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(3,'wangwu',40);
Query OK, 1 row affected (0.00 sec)
show binlog events in 'mysqlbinlog.000001';

已经将创建数据库、创建表、新增数据库日志都添加进去了。

5.查看binlog文件中的内容(mysqlbinlog)

由于binlog是二进制的文件,是不能直接查看的,可以使用mysqlbinlog命令就可以转换成人能够看懂的内容,进入到C:\ProgramData\MySQL\MySQL Server 5.7\Data下面打开cmd

mysqlbinlog "mysqlbinlog.000001"

或者将binlog文件换成人能够看懂的文件
mysqlbinlog "mysqlbinlog.000001">"test.sql"

如果报错mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8mb4'.
参考 https://blog.csdn.net/aben_sky/article/details/121514406

 转成文件

 在控制台不好看,用记事本打开方便查看

6.数据恢复

 现在做了一个伟大的壮举,,,删库了

 已经删库了,现在要进行数据的恢复
查看有哪些binlog文件(这个binlog文件是重启一次mysql服务就会形成一个新的文件mysqlbinlog.000002 …后缀依次累加)

show binary logs;

查看删库之前执行过的操作事件,并找到要恢复数据的起点和终点(这里在控制到中看起来比较费劲,可以借助别的软件如:navicat)

show binlog events;
或者
show binlog events in 'mysqlbinlog.000001';

 那就以创建数据库为起点,以删库之前为终点
为了方便查看我将上图show binlog events;
结果复制到excel中

 binlog命令恢复数据

mysqlbinlog  --no-defaults --start-position=154 --stop-position=1503 mysqlbinlog.000001 | mysql -uroot -proot 
如果按照下图执行报错就加上 --no-defaults

7.总结

简单来说,要恢复数据
1.查看当前使用的binlog文件是那个

show binary logs; --文件列表
show master status; --当前使用的是哪个文件

2.针对当前使用的文件查看事件,以此来确认要恢复数据的终点和起点

show binlog events;
或者
show binlog events in 'mysqlbinlog.000001';

3.携带起点和终点,执行数据恢复命令

mysqlbinlog --start-position=154 --stop-position=1503 mysqlbinlog.000001 | mysql -uroot -proot 

 

标签:binlog,查看,show,windows,文件,mysql,数据恢复,events
From: https://www.cnblogs.com/wffzk/p/17526084.html

相关文章

  • 使用Kafka,实现Windows主机和Linux虚拟机的传输
    要在Windows主机和Linux虚拟机之间使用Kafka进行数据传输,需要按照以下详细步骤进行操作:在Windows主机上:1. 下载并安装Java Development Kit(JDK),确保在Windows上安装了Java。2. 下载Apache Kafka,可以从官方网站(https://kafka.apache.org/downloads)下载最新版本的Kafka。3. 解......
  • Qt qBreakPad使用(windows)
    一、介绍Googlebreakpad是一个跨平台的崩溃转储和分析框架和工具集合。而且BreakPad本来就是为了解决C、C++异常捕获而开发的。BreakPad支持跨平台,很容易在Qt项目中使用,使跨平台的应用实现跨平台异常捕获。这里介绍一下qBreakPad的使用。二、编译步骤1、下载qBreakPad源码......
  • Linux挂载windows共享文件夹
    这篇博客为大家介绍一下Linux上挂载Windows下的网络共享文件夹,实现不同系统间的文件同步。1、环境2、windows上设置共享文件夹右键需要共享的文件夹,在属性中选到共享选择需要共享的用户并且赋权限共享之后取到网络路径3、linux上进行文件夹挂载#保证两台机器能......
  • Windows Server 共享操作日志及分析工具
    前言:作为系统管理员可能会在企业搭建域环境及配置域共享目录,但共享目录的权限设置繁琐,因此大多数子目录都是部门可读可写,怎样审查谁做了新增删除文件成为管理的重点。其实我们可以通过Windows自带的审计服务完成该工作。 一,首先打开服务管理器,点击本地安全策略 二,在审核......
  • 如何通过Java读取到Windows系统日志evtx文件
    近日公司有个需求,需要调研如何使用Java来读取Windows日志文件(类型:应用程序,安全,Setup,系统)一番调研以后,在仅使用java的基础上系统日志文件似乎不太可能(就个人调研结果来看),再通过多渠道查询(百度、chargpt),找到2个可能的实现的方案:1、使用Java来调用C++方法JNA(JavaNativeAccess)......
  • windows上,gbk utf8相互转换
    #include<locale>#include<codecvt>inlinestd::stringutf8_to_gbk(conststd::string&str){std::wstring_convert<std::codecvt_utf8<wchar_t>>conv;std::wstringtmp_wstr=conv.from_bytes(str);//GBKlocalenamei......
  • 在Windows下安装使用Kafka
    准备工作Java环境Kafka安装包(已包含zookeeper)安装步骤1Java安装自行百度2下载、安装Kafka 打开 下载地址 选择下图红框中的版本,Kafka包名组成:Scala版本-Kafka自身版本下载完成之后解压,目录如下图:3启动服务3.1启动ZooKeeper打开kafka_2.12-2.1.0\bin\w......
  • 如何在Windows上安装MySQL和MySQL Workbench
    如果你想学习MySQL,从一个好的客户端开始非常有帮助——尤其是当你刚刚开始你的旅程时。有很多客户端可以满足您基于MySQL的需求,例如XAMPP、DataGrip等。其中,我更喜欢MySQLWorkbench。顺便说一句,它是完全免费的。在本教程中,我将向您展示如何从头开始安装和配置此MySQL和......
  • 最新windows10 下搭建vue开发环境
    特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图: 详细的安装步骤如下:一、安装node.js说明:安装node.js的windows版本后,会自动安装好node以及包管理工具npm,我们后续的安装将依赖npm工具。node.js的官方地址为:https://nodejs.org/e......
  • mysql windows安装
    1.首先下载mysqlhttps://www.mysql.com/downloads/ 2.解压到D盘。在解压后的文件夹里创建一个data文件夹和一个my.ini文件my.ini文件夹内容路径根据自己存放解压位置修改一下,数据库存放目录自己建一个[mysql]#设置mysql客户端默认字符集default-character-set=utf8m......