返回顶部
首页 > 资讯 > 数据库 >MySQL误删数据该怎么办
  • 927
分享到

MySQL误删数据该怎么办

2023-06-19 11:06:19 927人浏览 安东尼
摘要

这篇文章主要介绍“MySQL误删数据该怎么办”,在日常操作中,相信很多人在Mysql误删数据该怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql误删数据该怎么办”的疑惑有所帮助!接下来,请跟着小编

这篇文章主要介绍“MySQL误删数据该怎么办”,在日常操作中,相信很多人在Mysql误删数据该怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql误删数据该怎么办”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

首先看下mysql误删数据排名最前的几种是:

误删文件

误删库、表

错误全表删除 / 更新

升级操作失误

都来看看你命中过几个,hoho。

简单说下我亲手造的一个大事故吧。

那大概是一个春暖花开的季节,我的内心是激动澎湃的,因为已经安排了休假计划。在这前几天,已经把一个新项目数据库环境都部署好了,包括自动化备份

等我美美的出去玩的时候,悲剧发生了,业务要求进行数据回滚,但发现备份文件不可用,原因是 备份时指定的字符集和表字符集不一致。我勒个擦,原来该项目采用新的字符集,但是我没有认真检查确认并修改备份脚本,结果导致备份失效。最后,因为这个事,当季度绩效结果被降档,boss也为此背锅~

好吧,回到正题,先说几点我平时预防误操作导致文件/数据丢失不成熟的建议:

欲删除文件时,将rm命令改成mv,可在系统层面将rm命令做个alias(或参考  windows / Mac OSX做法,删除文件时先进回收站)。

删除数据库、表时,不要用drop命令,而是rename到一个专用归档库里;

删除表中数据时,不要直接用delete或truncate命令,尤其是truncate命令,目前不支持事务,无法回滚。

用delete命令删除数据时,应当先显式开启事务,这样误操作时,还有机会进行回滚。

要大批量删除数据时,可以将这些数据insert...select到一个新表,确认无误后再删除。或者反其道行之,把要保留的数据写到新表,然后将表重命名对掉。

执行重要命令之前,先准备好相关命令,再三确认无误才之行,对于新鸟而言,最好请你的boss坐你旁边镇场几次,否则极有可能会连累大家~

以上几条,也是我自己奉行的原则。总之,要时刻保持对线上生产环境的敬畏之心。虽说现在大部分操作可以靠平台来完成了,但平台也不是万能的,不也发生过平台本身的缺陷造成数据丢失、代码回滚、部署失误等事故嘛,我就不点名了。

做好备份,不管是物理备份还是逻辑备份!

做好备份,不管是物理备份还是逻辑备份!

做好备份,不管是物理备份还是逻辑备份!

重要的事情说三遍都不嫌多。

说完预防措施,我们再说万一发生误操作时,怎么以最快速度进行补救。 我们分别列举几种常见的情况:

执行DROP DATABASE / DROP TABLE命令误删库表,如果碰巧采用共享表空间模式的话,还有恢复的机会。如果没有,请直接从备份文件恢复吧。神马,你连备份文件都没有?那麻烦退出DBA届吧,一个连备份都懒得做的人,不配成为DBA的。

接上,采用共享表空间模式下,误删后立刻杀掉(kill -9)mysql相关进程(mysqld_safe、mysqld),然后尝试从ibdataX文件中恢复数据。

误删除正在运行中的MySQL表ibd或ibdataX文件。请立即申请对该实例进行维护,当然,不是指把实例关闭,而是把业务暂停,或者把该实例从线上环境摘除,不再写入新数据,然后利用linux系统的proc文件特点,把该ibd文件从内存中拷出来,再进行恢复,因为此时mysqld实例在内存中是保持打开该文件的,切记这时不要把mysqld实例关闭了。

接上,把复制出来的ibdataX或ibd文件拷贝回datadir后,重启mysqld进入recovery模式,innodb_force_recovery 选项从 0 - 6 逐级测试,直至能备份出(整个实例或单表的)所有数据后,再重建实例(或单表),恢复数据。

未开启事务模式下,执行delete误删数据。意识到后立即将mysqld(以及mysqld_safe)进程杀掉(kill -9),不要任何犹豫,然后再用工具将表空间数据读取出来。因为执行delete删除后,实际数据并没被物理清除,只是先打上deleted-mark标签,后续再统一清理,因此还有时间差。

执行truncate误清整表。如果没使用共享表空间模式的话,基本别想了,走备份恢复+binlog吧。

执行不带where条件的update,或者update错数据。也别费劲了,走备份恢复+binlog吧。

到此,关于“MySQL误删数据该怎么办”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL误删数据该怎么办

本文链接: https://lsjlt.com/news/295799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL误删数据该怎么办
    这篇文章主要介绍“MySQL误删数据该怎么办”,在日常操作中,相信很多人在MySQL误删数据该怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL误删数据该怎么办”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-19
  • MySQL误删数据怎么办
    MySQL误删数据怎么办,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先看下MySQL误删数据排名最前的几种是:1.误删文件2.误删库、表3...
    99+
    2024-04-02
  • MySQL数据误删除怎么办
    小编给大家分享一下MySQL数据误删除怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述Binlog2sql是一个Pyth...
    99+
    2024-04-02
  • mysql误删除表内数据怎么办
    这篇文章主要介绍了mysql误删除表内数据怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 #添加数据 insert into te...
    99+
    2024-04-02
  • mysql数据库误删除后怎么办
    小编给大家分享一下mysql数据库误删除后怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,要确保mysql开启了binlog日志功能在/etc/my.cnf文件里的[mysqld...
    99+
    2024-04-02
  • MySQL 5.6.26 误删ibdata该怎么恢复
    MySQL 5.6.26 误删ibdata该怎么恢复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 [root@h...
    99+
    2024-04-02
  • mysql误删数据怎么恢复
    mysql误删数据可通过以下步骤恢复:停止数据库服务,防止数据覆盖。若开启binlog日志,可从中提取删除语句,再重新执行后将数据恢复。使用恢复工具修复表文件或恢复事务。从备份中恢复数据...
    99+
    2024-05-16
    mysql
  • win7系统标签被误删该怎么办呢?
     更多Windows 7 系统问题,请到win732系统下载:windows7系统中有一个在工作中很有用的小工具,系统附件中的便签工具,随用随贴,很方便。不过有时候用户不小心勾选了“不再显示此消息&...
    99+
    2023-06-10
    win7 系统标签 系统 标签
  • mysql误删除数据怎么恢复
    这篇文章主要介绍“mysql误删除数据怎么恢复”,在日常操作中,相信很多人在mysql误删除数据怎么恢复问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql误删除数据怎么...
    99+
    2024-04-02
  • mysql怎么恢复误删的数据
    在MySQL中,如果误删了数据,可以通过以下方法恢复: 使用备份文件恢复数据:如果有备份文件,可以将备份文件中的数据恢复到数据库...
    99+
    2023-10-28
    mysql
  • 误删除InnoDB ibdata数据文件怎么办
    这篇文章主要介绍了误删除InnoDB ibdata数据文件怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 下边这个案例模拟人...
    99+
    2024-04-02
  • 操作MySQL误删数据库备份该如何恢复
    下文主要给大家带来操作MySQL误删数据库备份该如何恢复,希望这些内容能够带给大家实际用处,这也是我编辑操作MySQL误删数据库备份该如何恢复这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。&nbs...
    99+
    2024-04-02
  • 怎么解决MySQL误删数据问题
    本篇内容主要讲解“怎么解决MySQL误删数据问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决MySQL误删数据问题”吧!第一步:保证mysql已经开启...
    99+
    2024-04-02
  • Mysql误删除数据库怎么恢复
    这篇文章主要讲解了“Mysql误删除数据库怎么恢复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql误删除数据库怎么恢复”吧! ...
    99+
    2024-04-02
  • MySQL数据库中怎么恢复误删除数据
    本篇文章为大家展示了MySQL数据库中怎么恢复误删除数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 找到binlog恢复数据的前提是必须开启Mysql的bi...
    99+
    2024-04-02
  • MySQL 恢复误删数据
    文章目录 1、查看是否启用 binlog 日志2、查看所有 binlog 日志3、查看正在使用的日志4、查找日志所在文件夹5、log 日志转 sql6、delete 转 insert 恢复误删...
    99+
    2023-09-05
    mysql 数据库
  • MySQL数据库误删回滚怎么解决
    这篇文章主要讲解了“MySQL数据库误删回滚怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库误删回滚怎么解决”吧!某次一不小心,用了delete from x...
    99+
    2023-07-02
  • Oracle中删除数据报ORA 02292错误怎么办
    这篇文章给大家分享的是有关Oracle中删除数据报ORA 02292错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体代码如下所示:--查询表TP_MENU有哪些约束 ...
    99+
    2024-04-02
  • mysql 误删除数据-数据回滚
    mysql 误删除 本次使用的原美团开源Mysql 数据闪回工具 传送门:https://github.com/Meituan-Dianping/MyFlash 一,简介 MyFlash的前身是binlon...
    99+
    2024-04-02
  • mysql load数据无法绕过innodb cache该怎么办
    这篇文章给大家介绍mysql load数据无法绕过innodb cache该怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。oracle装载数据的时候,可以使用direct wri...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作