我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库中怎么恢复误删除数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库中怎么恢复误删除数据

本篇文章为大家展示了MySQL数据库中怎么恢复误删除数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1. 找到binlog

恢复数据的前提是必须开启Mysql的binlog日志,如果binlog日志没开启,请忽略此篇文档。binlog日志是否开启可以查看Mysql配置文件。日志位置一般在/var/lib/mysql目录或者编译安装的date目录下。也可登录Mysql用命令查看。

# cat /etc/my.cnflog_bin=mysql-bin# mysql -uroot -pEnter password: mysql> show variables like'log_bin%'; +---------------------------------+--------------------------------------------------+ | Variable_name                   | Value                                            | +---------------------------------+--------------------------------------------------+ | log_bin                         | ON                                               | | log_bin_basename                | /home/programs/mysql-5.6.26/data/mysql-bin       | | log_bin_index                   | /home/programs/mysql-5.6.26/data/mysql-bin.index | | log_bin_trust_function_creators | OFF                                              | | log_bin_use_v1_row_events       | OFF                                              | +---------------------------------+--------------------------------------------------+ 5 rows in set (0.00 sec)# ll /home/programs/mysql-5.6.26/data/mysql-bin*-rw-rw---- 1 mysql mysql 343629748 Oct 13 22:09 /home/programs/mysql-5.6.26/data/mysql-bin.000001 -rw-rw---- 1 mysql mysql        19 Sep 23 17:11 /home/programs/mysql-5.6.26/data/mysql-bin.index

如果有多个binlog日志也可以在Mysql命令行下查看当前binlog、切割binlog日志。切割完成binlog再次查看就会看到新的日志写入到新的binlog文件中。

mysql> show master status; +------------------+-----------+--------------+------------------+-------------------+ | File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+-----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 343629748 |              |                  |                   | +------------------+-----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)  mysql> flush logs; Query OK, 0 rows affected (0.01 sec)

2. 找到binlog中错误的语句

可以binlog日志中找到错误语句执行的时间点,分别恢复错误语句前后的binlog日志为sql。也可以跳过此步,直接恢复整个binlog日志为sql,然后打开sql文件,删除错误语句。

# sudo mysqlbinlog --base64-output=DECODE-ROWS -v -d ids mysql-bin.000001 | grep --ignore-case -A3 -B4 '错误的sql语句'

3. 恢复binlog日志

通过mysqlbinlog命令直接恢复binlog日志为sql脚本,可以指定开始和结束时间。如果从上次备份(建议备份的同时刷新binlog日志)截至到恢复时间产生多个binlog日志,按从小到大的顺序分别导出成sql再顺序导入到数据库。

# sudo mysqlbinlog --base64-output=DECODE-ROWS -v -d ids --start-datetime '2016-10-11 15:22:53' mysql-bin.000001 > /home/stack/data.sql

上面命令中用-d ids指定要恢复数据库,如果要恢复表级别的数据,导出成sql后再进行过滤grep即可。

# more data.sql | grep --ignore-case -E 'insert|update|delete' | grep table

4. 恢复到数据库

恢复数据时,可能会有重复数据的报错,建议用-f参数忽略。

# mysql -uroot -p -f ids < data.sql

上述内容就是MySQL数据库中怎么恢复误删除数据,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库中怎么恢复误删除数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle数据库误删除数据怎么恢复

误删数据恢复步骤:检查回收站中是否有误删数据。使用闪回查询恢复误删数据(如时间戳在误删后不久)。从备份中恢复数据(如果回收站和闪回查询无法恢复)。Oracle 数据库误删除数据恢复误删数据恢复的步骤Oracle 数据库中误删数据后,恢复
oracle数据库误删除数据怎么恢复
2024-04-18

怎么恢复mysql数据库中删除的数据库

要恢复已删除的 mysql 数据库,首先确认其已删除。然后,有两种恢复方法:使用备份文件或从二进制日志文件恢复。从备份文件恢复需要先停止服务器、复制文件并运行查询。从二进制日志文件恢复则需要确保日志记录已启用,提取操作并运行查询创建并恢复数
怎么恢复mysql数据库中删除的数据库
2024-04-14

mysql数据库删除怎么恢复

mysql 数据库中删除的数据恢复方法:检查回收站(mysql 8.0 及以上版本)使用备份恢复使用二进制日志恢复(需启用 binlog)MySQL 数据库删除恢复问题:MySQL 数据库中删除的数据如何恢复?回答:数据恢复是 MyS
mysql数据库删除怎么恢复
2024-08-05

mysql删除数据库怎么恢复

已删除的 mysql 数据库的恢复方法有两种:从备份恢复(停止服务、复制备份文件、恢复数据库),或从二进制日志恢复(找到关联的 binlog 文件、提取事件、重建数据库、应用事件)。恢复前务必备份现有数据,关闭使用数据库的应用程序。请尝试使
mysql删除数据库怎么恢复
2024-05-21

删除mysql数据库怎么恢复

已删除的 mysql 数据库可通过下列步骤恢复:查找备份文件导入备份文件创建新数据库导入数据提示:定期备份数据库至关重要,以防止数据丢失。如何恢复已删除的 MySQL 数据库恢复步骤:查找备份文件导入备份文件创建新数据库导入数据详细
删除mysql数据库怎么恢复
2024-08-05

mysql数据库表数据删除怎么恢复

mysql 数据删除恢复方法:从备份中恢复:还原已创建的数据库备份。恢复日志恢复:使用启用的恢复日志记录来解析并恢复数据。undo 日志恢复:回滚 undo 日志以恢复已删除的数据。第三方工具恢复:利用第三方工具恢复已删除的数据。注意:恢复
mysql数据库表数据删除怎么恢复
2024-08-05

mysql数据库被删除怎么恢复

如果启用了 mysql 二进制日志,则可通过以下步骤恢复已删除的数据库:检查 binlog 文件并复制 .ibd 文件到新目录。创建新数据库。从 .ibd 文件恢复数据库。导入数据(可选)。重新创建外键(可选)。重新创建视图(可选)。如何恢
mysql数据库被删除怎么恢复
2024-08-05

怎么恢复mysql删除的数据库

可以通过一系列步骤恢复已删除的 mysql 数据库,包括:确定数据库名称、检查二进制日志、从备份中恢复、复制并重放二进制日志条目,最后验证并删除临时数据库。如何恢复已删除的 MySQL 数据库步骤 1:确定数据库名称首先,你需要确定已删
怎么恢复mysql删除的数据库
2024-08-05

oracle数据误删除怎么恢复

oracle 提供了多种数据误删恢复方法:从回收站中恢复(30 天内可用);使用闪回查询(特定时间点恢复);从备份中恢复(备份需及时);使用第三方工具(更高级)。预防措施:定期备份、使用回收站、启用审计跟踪、测试恢复计划。Oracle 数据
oracle数据误删除怎么恢复
2024-04-18

navicat误删除数据怎么恢复

如果你在 Navicat 中误删除了数据,你可以尝试通过以下方法恢复数据:使用 Navicat 的“撤销”功能:在误删除数据后,立即点击编辑菜单中的“撤销”选项,或使用快捷键 Ctrl+Z,以撤销最近的操作。这将恢复最后一次删除的数据。使用
2023-10-27

mysql删除数据怎么恢复

已删除的 mysql 数据可以通过三种方法恢复:从备份恢复、使用 mysql 二进制日志或使用磁盘恢复工具,需注意数据未被覆盖,在操作前备份数据库。MySQL 数据恢复:删除数据的补救措施如何恢复已删除的 MySQL 数据?已删除的 M
mysql删除数据怎么恢复
2024-05-30

mysql误删数据怎么恢复

mysql误删数据可通过以下步骤恢复:停止数据库服务,防止数据覆盖。若开启binlog日志,可从中提取删除语句,再重新执行后将数据恢复。使用恢复工具修复表文件或恢复事务。从备份中恢复数据,可手动或自动化进行。查看慢查询日志获取删除语句信息。
mysql误删数据怎么恢复
2024-05-16

mysql数据误删除如何恢复

如果MySQL数据误删除,可以尝试以下方法恢复:1. 使用备份:如果你有定期备份数据库,可以通过将备份文件还原到误删除之前的状态来恢复数据。2. 使用二进制日志(binary log):MySQL的二进制日志记录了数据库的所有操作,包括删除
2023-10-09

编程热搜

目录