位置: 编程技术 - 正文

Mysql误操作后利用binlog2sql快速回滚的方法详解(mysql误操作数据恢复)

编辑:rootadmin

推荐整理分享Mysql误操作后利用binlog2sql快速回滚的方法详解(mysql误操作数据恢复),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql误操作 恢复,mysql误操作 恢复,mysql 误删,mysql 误删,mysql 误删,mysql误删数据怎么恢复,mysql误操作数据恢复,mysql 误操作,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

在日常工作或者学习中,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,下面这篇文章主要给大家介绍关于Mysql误操作后利用binlog2sql快速回滚的方法,话不多说,来一起看看详细的介绍:

一、总体解释:

DML(data manipulation language):

它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言

DDL(data definition language):

DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用

DCL(Data Control Language):

是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL

二、binlog2sql安装

从mysql binlog解析出你要的sql。根据不同选项,你可以得到原始sql、回滚sql、去除主键的insert sql等。

2.1、用途

&#;数据快速回滚(闪回) &#;主从切换后数据不一致的修复 &#;从binlog生成标准SQL,带来的衍生功能

2.2、安装

2.3、user需要的最小权限集合:

select, super/replication client, replication slave权限建议授权

2.4、基本用法

解析出标准SQL

Mysql误操作后利用binlog2sql快速回滚的方法详解(mysql误操作数据恢复)

解析出回滚SQL

三、测试:

3.1、新建表users

3.2、解析标准sql

3.3、解析出回滚SQL

查看解析出的sql,如无误,可打印到sql文件中/data/backup/rollback.sql

mysql连接配置

解析模式

--realtime 持续同步binlog。可选。不加则同步至执行命令时最新的binlog位置。 --popPk 对INSERT语句去除主键。可选。 -B, --flashback 生成回滚语句。可选。与realtime或popPk不能同时添加。

解析范围控制

--start-file 起始解析文件。必须。 --start-pos start-file的起始解析位置。可选。默认为start-file的起始位置; --end-file 末尾解析文件。可选。默认为start-file同一个文件。若解析模式为realtime,此选项失效。 --end-pos end-file的末尾解析位置。可选。默认为end-file的最末位置;若解析模式为realtime,此选项失效。

对象过滤

-d, --databases 只输出目标db的sql。可选。默认为空。 -t, --tables 只输出目标tables的sql。可选。默认为空。

3.4、开始回滚

3.5、登陆数据库验证

四、注意事项

4.1、在配置文件中设置了以下参数:

4.2、在闪回的时候必须启动 MySQL 服务

因为它是通过 BINLOG_DUMP 协议来获取 binlog 内容,需要读取server端 information_schema.COLUMNS 表,来获取表结构的元信息,才能拼接成 SQL 语句。因此需要给用户提供的最小权限如下:

源码中,主要是使用 python-mysql-replication 作为实时解析 MySQL binlog 来获取各个 EVENT。 python-mysql-replication 实现了 MySQL 复制协议,客户端伪装成 slave 来获取主的 binlog 和 EVENT。

4.3、insert、update、delete大部分时候可以解析出来标准sql和回滚sql

一种情况例外:insert、updete、delete操作之后,drop/truncate table。 此时虽然在binlog中记录了所有的event,但是使用binlog2sql生成标准sql、回滚sql的时候已经找不到了dml操作的相应的表

4.4、DDL无法使用binlog2sql闪回数据。

总结

标签: mysql误操作数据恢复

本文链接地址:https://www.jiuchutong.com/biancheng/349055.html 转载请保留说明!

上一篇:MySql版本问题sql_mode=only_full_group_by的完美解决方案(mysql版本信息)

下一篇:阿里云ECS centos6.8下安装配置MySql5.7的教程(阿里云ecs centos sysctl)

  • 工业企业取得土地使用权专用发票可以抵扣吗?
  • 天猫店铺个人可以开吗
  • 未分配利润转增股本会计处理
  • 档案室图书应该做哪个会计科目
  • 投标保证金保险怎么买
  • 小微企业免税销售额填含税还是不含税
  • 企业前期开办费怎么入账
  • 机票的差额发票可以报销吗
  • 企业收到发要失控发票做进项税额转出如何做税务处理?
  • 免征增值税和营业税政策
  • 国税申报需要带什么资料
  • 物业管理企业主营业务收入
  • 关于财产保险公司的论文
  • 公司发生的业务可以转让给子公司嘛?
  • 应交税费未交增值税怎么计算
  • 新个税过了申报期怎么办
  • 印花税减半优惠政策2019
  • 销售二手设备税率
  • 开票人为什么不能改
  • 发票打偏了是否罚款
  • 小规模税收减免
  • vue框架使用方法
  • win7系统打开软件就停止工作
  • win10如何禁止安装任何软件
  • 建筑企业被靠挂靠怎么办
  • 外资企业股权转让给外资企业
  • bboy.exe进程是病毒吗 bboy进程安全吗
  • 发行债券会计分录怎么写
  • 会计分录的书写规范
  • 同一控制下的企业合并,合并方在企业合并中取得的资产
  • 低值易耗品报废账务处理
  • php stl
  • php一个页面多个分页
  • thinkphp-5.0
  • smarty怎么用
  • 专用发票有几联?
  • 年末应交税费怎么算
  • 亏损合同预计负债的会计分录
  • 筹备期间费用怎么做分录
  • 一条sql在mysql中经过怎样的过程
  • 销售佣金的税务比例一般是多少啊
  • 其他应收款资产类
  • 融资租入的固定资产需要计提折旧吗
  • sqlserver2000分页
  • 债权人债务重组损益计入什么科目
  • 哪种营业执照不用交税开店有营业执照有什么好
  • 财政补助资金不需要政府采购
  • 金蝶软件中怎么让以前年度损益调整在利润表中取不到数
  • 小规模纳税人能抵扣进项税额吗
  • 开发票系统税号0和o怎么区别?
  • 运费未付的会计分录怎么做
  • 白条入账会受到监管吗
  • 固定资产管理系统设置及业务处理
  • mysql group_concat()函数用法总结
  • mysql precision
  • win7,win8.1,win10命令行配置ip地址图文教程
  • Windows Server 2008关闭闲置状态的IDE通道
  • 苹果电脑安装win7系统教程
  • centos7配置vncserver
  • linux怎么使用无线网卡
  • win10 提示你的设备遇到问题 需要重新启动
  • es6中的class常见使用场景
  • bootstrap不支持ie
  • android studio 新建项目只有.idea文件
  • 如何制作批处理
  • cocos2dx-js
  • javascript create
  • nodejs前后端数据交互
  • 批处理在windows中的典型应用
  • ie浏览器怎么设置打开网页在同一个窗口
  • python 随机ua
  • Android platform build guide for Exynos-4412(odroid -X/X2/U2/U3/Q2/Q)
  • js debounce实现
  • 简洁实用的公司治理机制
  • Easyui 之 Treegrid 笔记
  • 个人所得税完税证明
  • 长春市税务局电话号
  • 重庆税务电子税登录
  • 贵州铜仁苗族自治区
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设