mysql通过binlog日志恢复误删数据

这篇具有很好参考价值的文章主要介绍了mysql通过binlog日志恢复误删数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、先查看binlog功能是否开启

show variables like '%log_bin%';

mysql通过binlog日志恢复误删数据,mysql,数据库
log_bin为ON说明可以使用binlog恢复,如果为OFF说明没有开启binlog。

2、删除部分数据做测试

mysql通过binlog日志恢复误删数据,mysql,数据库
mysql通过binlog日志恢复误删数据,mysql,数据库

3、查找binlog文件位置

show variables like '%datadir%';

mysql通过binlog日志恢复误删数据,mysql,数据库

cd /var/lib/mysql

ls -l

删除数据时间是在文件154与153之间,所以删除操作应在154文件中
mysql通过binlog日志恢复误删数据,mysql,数据库

4、解析日志

mysqlbinlog命令解析日志存入新文件

mysqlbinlog --base64-output=decode-rows -v --database=DBName --start-datetime="2023-08-21 16:50:00" --stop-datetime="2023-08-21 17:05:00" /var/lib/mysql/mysql-bin.000154 > mysqllog-154.sql

mysql通过binlog日志恢复误删数据,mysql,数据库
mysqlbinlog 命令的参数说明

--base64-output=decode-rows //数据转换正常的字符,如果不设置这个参数将显示base64的数据
--database=DBName //数据库名(一个mysql数据库比较多,指定方便恢复)
--start-datetime=恢复起始时间
--stop-datetime=恢复结束时间
/var/lib/mysql/mysql-bin_copy.000154 //为数据恢复的日志文件
mysqllog-154.sql//恢复以后我们需要的文件名

sz命令下载文件到本地
mysql通过binlog日志恢复误删数据,mysql,数据库

在文件中找到了detele语句

mysql通过binlog日志恢复误删数据,mysql,数据库

5、语句转换

把mysqllog-154.sql中的DELETE转换为Insert语句,使用以下命令:

cat mysqllog-154.sql | sed -n '/###/p' | sed 's/### //g;s/\/\*.*/,/g;s/DELETE FROM/;INSERT INTO/g;s/WHERE/SELECT/g;' |sed -r 's/(@17.*),/\1;/g' | sed 's/@1=//g'| sed 's/@[1-9]=/,/g' | sed 's/@[1-9][0-9]=/,/g' > mysqlOK.sql

mysql通过binlog日志恢复误删数据,mysql,数据库
打开mysqlOK.sql文件

mysql通过binlog日志恢复误删数据,mysql,数据库
6、数据恢复
执行sql文件,即可将删除数据恢复:

mysql通过binlog日志恢复误删数据,mysql,数据库

mysql通过binlog日志恢复误删数据,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-666035.html

到了这里,关于mysql通过binlog日志恢复误删数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库误删恢复

           经常听说删库跑路这真的不只是一句玩笑话,若不小心删除了数据库,事情很严重。你一个不小心可能会给公司删没。建议研发不要直连生成环境,一般的话都会分配账号权限,生产环境的账号尽量是只读,以防你一个不经意给库或表删除。一定要备份,这很重要,

    2024年02月07日
    浏览(11)
  • MySQL-备份+日志:介质故障与数据库恢复

    本关任务: 备份数据库,然后再恢复它。 为了完成本关任务,你需要掌握: 1.MySQL的恢复机制; 2.MySQL提供的备份与恢复工具。 和大多数DBMS一样,MySQL利用备份、日志文件实现恢复。 具体理论知识在此不详细介绍。 MySQL提供了以下工具: 逻辑备份工具:mysqldump 物理备份工具

    2024年02月05日
    浏览(16)
  • MySQL——通过binlog恢复数据

    目录 1.binlog基本概念 2.MySQL开启binlog 3.使用binlog日志恢复数据 3.1.恢复前准备工作 3.2.数据恢复 3.2.1.通过mysqlbinlog将binlog转为sql,以方便查询具体位置 3.2.2.查看生成的backuptmp.sql,最终确定需要恢复的起始位置为219,结束位置为982 3.2.3.通过mysqlbinlog执行恢复操作 前言 : mysqldu

    2024年02月06日
    浏览(15)
  • MySQL 开启配置binlog以及通过binlog恢复数据

       binlog是MySQL sever层维护的一种二进制日志,binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE、DROP等)以及表数据修改(INSERT、UPDATE、DELETE、TRUNCATE等)的二进制日志。不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。 作用主要有: 主从复制:在

    2024年02月03日
    浏览(9)
  • mysql-DBA(1)-数据库备份恢复-导入导出-日志解释

    log: hdd data :ssd  ,备份和导出都慢,缓冲池有污染。 逻辑备份:把所有的命令转换成sql语句。 修改配置文件: -A 备份所有 -B 备份哪个数据库 --master-data=1 同步 内容: 备份参数: 1.备份成文件,里面就是sql语句 2.routine: 3.trigger 触发器 4.event: 定时任务 5.-B 数据库 1.有-B 表

    2024年03月09日
    浏览(22)
  • mysql通过.frm和.ibd 文件恢复数据库

     问题背景:由于强制在服务关闭mysql导致部分数据表以及数据丢失 如下图只有.frm .ibd的文件为我的问题文件 查找不到表结构和表数据目录D:XXXXmysql-5.7.24-winx64datamydata  从frm文件中恢复表结构 先把原来的数据备份一次 避免过程中出错 先备份之前数据的.frm 和.ibd文件,并创

    2024年02月10日
    浏览(17)
  • windows下mysql中binlog日志分析和数据恢复

    看到了是没有开启的。 不能通过命令的方式去打开,因为会提示说这个参数是 只读 的。如下图: 所以,打开mysql的配置文件,找到mysql的配置文件(和Linux下的文件名是不一样的,Linux是my.cnf),windows默认的在 C:ProgramDataMySQLMySQL Server 5.7my.ini 配置好之后,要 进行重启mysql服务

    2024年02月15日
    浏览(8)
  • Mysql 数据库开启 binlog

    在MySQL中,binlog指的是binary log,二进制日志文件。这个文件记录了MySQL所有的DML操作。通过binlog日志,我们可以做数据恢复,做主从复制等等。对于运维或架构人员来说,开启binlog日志功能非常重要。 (如何开启MySQL的binlog日志呢?下面将介绍两种方法) 2.1 方法一:在my.cn

    2024年02月13日
    浏览(13)
  • mysql binlog 日志详解及恢复

    一、binlog概述 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undolog是完全不同的日志; 其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,并以\\\"事务\\\"的形式保存在磁盘中; 作用主要有: 复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传

    2024年02月12日
    浏览(10)
  • [数据库]MYSQL之授予/查验binlog权限

    在后端做MySQL主从备份;亦或是在大数据领域中,各类CDC同步( Canal / Flink CDC 等),均会基于 MYSQL 的 binlog 来实现。 因此,知道需要哪些权限?怎么去查验、怎么授权就很重要了。 感觉网上的文章没成体系地清楚,而今天工作上处理问题的过程中遇到了此疑问,且曾多次对

    2024年02月01日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包