返回顶部
首页 > 资讯 > 数据库 >如何解决线上数据库删了的问题
  • 830
分享到

如何解决线上数据库删了的问题

2024-04-02 19:04:59 830人浏览 薄情痞子
摘要

本篇内容主要讲解“如何解决线上数据库删了的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决线上数据库删了的问题”吧!事件背景Mysql数据库每日零点自

本篇内容主要讲解“如何解决线上数据库删了的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决线上数据库删了的问题”吧!

事件背景

  • Mysql数据库每日零点自动全备

  • 某天上午9点,二狗子不小心drop了一个数据库

  • 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢复

主要思想与原理

  • 利用全备的sql文件中记录的CHANGE MASTER语句,binlog文件及其位置点信息,找出binlog文件增量的部分

  • mysqlbinlog命令将上述的binlog文件导出为sql文件,并剔除其中的drop语句

  • 通过全备文件和增量binlog文件的导出sql文件,就可以恢复到完整的数据

过程示意图

如何解决线上数据库删了的问题

操作过程

模拟数据

CREATE TABLE `student` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `name` char(20) NOT NULL,   `age` tinyint(2) NOT NULL DEFAULT '0',   PRIMARY KEY (`id`),   KEY `index_name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8    mysql> insert student values(1,'zhangsan',20);  mysql> insert student values(2,'lisi',21);  mysql> insert student values(3,'wangwu',22);

全备命令

# mysqldump -uroot -p -B -F -R -x --master-data=2 test|gzip >/server/backup/test_$(date +%F).sql.gz

参数说明:

  • -B 指定数据库

  • -F 刷新日志

  • -R 备份存储过程等

  • -x

  • --master-data 在备份语句里添加CHANGE MASTER语句以及binlog文件及位置点信息

继续插入数据并删库

mysql> insert student values(4,'xiaoming',20); mysql> insert student values(5,'xiaohong',20);

在插入数据的时候我们模拟误操作,删除test数据库。

mysql> drop database test;

此时,全备之后到误操作时刻之间,用户写入的数据在binlog中,需要恢复出来。

查看全备之后新增的binlog文件

# cd /server/backup/ # ls test_2020-08-19.sql.gz # gzip -d test_2020-08-19.sql.gz  # grep CHANGE test_2020-08-19.sql  -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=107;

这是全备时刻的binlog文件位置,即mysql-bin.000003的107行,因此在该文件之前的binlog文件中的数据都已经包含在这个全备的sql文件中了

移动binlog文件,并读取sql,剔除其中的drop语句

# cp /data/3306/mysql-bin.000003 /server/backup/ # mysqlbinlog -d test mysql-bin.000003 >mysql-bin.000003.sql

接下来,使用vim编辑mysql-bin.000003.sql文件,剔除drop语句

注意:在恢复全备数据之前必须将该binlog文件移出,否则恢复过程中,会继续写入语句到binlog,最终导致增量恢复数据部分变得比较混乱

恢复数据

# mysql -uroot -p < test_2020-08-19.sql  # mysql -uroot -p -e "select * from test.student;" +----+----------+-----+ | id | name     | age | +----+----------+-----+ |  1 | zhangsan |  20 | |  2 | lisi     |  21 | |  3 | wangwu   |  22 | +----+----------+-----+

此时恢复了全备时刻的数据,然后使用mysql-bin.000003.sql文件恢复全备时刻到删除数据库之间,新增的数据。

# mysql -uroot -p test < mysql-bin.000003.sql  # mysql -uroot -p -e "select * from test.student;" +----+----------+-----+ | id | name     | age | +----+----------+-----+ |  1 | zhangsan |  20 | |  2 | lisi     |  20 | |  3 | wangwu   |  20 | |  4 | xiaoming |  20 |  |  5 | xiaohong |  20 | +----+----------+-----+

此时,整个恢复过程结束,是不是很简单呢?没错,就是这么简单!!

到此,相信大家对“如何解决线上数据库删了的问题”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: 如何解决线上数据库删了的问题

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

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

猜你喜欢
  • 如何解决线上数据库删了的问题
    本篇内容主要讲解“如何解决线上数据库删了的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决线上数据库删了的问题”吧!事件背景MySQL数据库每日零点自...
    99+
    2024-04-02
  • 如何解决mysql不小心删除数据库的问题
    这篇文章主要介绍如何解决mysql不小心删除数据库的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql不小心删除数据库的解决办法:首先打开mysql的binlog功能;然后...
    99+
    2024-04-02
  • 如何解决jsp连接不了mysql数据库的问题
    这篇文章主要讲解了“如何解决jsp连接不了mysql数据库的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决jsp连接不了mysql数据库的问题”...
    99+
    2024-04-02
  • 如何解决phpmyadmin不能删除数据库文件的问题
    小编给大家分享一下如何解决phpmyadmin不能删除数据库文件的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!phpmya...
    99+
    2024-04-02
  • 大数据中如何解决仓库无线覆盖的问题
    本篇文章为大家展示了大数据中如何解决仓库无线覆盖的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。   仓库是每个企业不可缺少的一部分。现在仍有许多仓库管理人员没有意识到WiF...
    99+
    2023-06-04
  • 如何解决数据写入mysql数据库的问号问题
    这篇文章将为大家详细讲解有关如何解决数据写入mysql数据库的问号问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。解决数据写入mysql的问号问题&nbs...
    99+
    2024-04-02
  • php数据库的乱码问题如何解决
    本篇内容主要讲解“php数据库的乱码问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数据库的乱码问题如何解决”吧!php数据库的乱码问题的解决办法:1、在网页文件head中设置编...
    99+
    2023-07-04
  • 如何解决win8无线网络受限上不了网的问题
    小编给大家分享一下如何解决win8无线网络受限上不了网的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!点击“开始”按钮在开始菜单打开“控制面板”,再在“控制面...
    99+
    2023-06-27
  • 解决PHPstudy的mysql数据库启动不了的问题
    PHPstudy_pro的默认端口号是3306,我们将其更改为3305或者3307即可解决 PHPstudy_pro的默认端口号是3306,我们将其更改为3305或者3307即可解决。 来源...
    99+
    2023-09-12
    php
  • MySQL 数据库如何解决高并发问题
    前言 我们都知道初创公司一开始都是以单体应用为首要架构,一般都是单体单库的形式。但是版本以及版本的迭代,数据库需要承受更多的高并发已经成了 架构设计 需要考虑的点。 那么解决问题,就得说到方案。但是方案有很多,我们...
    99+
    2022-05-20
    MySQL 高并发 MySQL 高并发解决方案
  • 数据库中如何解决enq: US - contention问题
    小编给大家分享一下数据库中如何解决enq: US - contention问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • 如何解决数据库报错ORA-00000问题
    本篇内容主要讲解“如何解决数据库报错ORA-00000问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决数据库报错ORA-00000问题”吧!从阿里云的...
    99+
    2024-04-02
  • 如何解决U盘文件删除不了的问题
    小编给大家分享一下如何解决U盘文件删除不了的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!U盘文件删除不了的解决方法/步骤:一般情况下先将U盘进行全面扫描,看...
    99+
    2023-06-27
  • 如何解决j2Cache线上异常排查问题
    这篇文章主要为大家展示了“如何解决j2Cache线上异常排查问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决j2Cache线上异常排查问题”这篇文章吧。问题背景开发反馈,线上有个服务在...
    99+
    2023-06-29
  • 如何解决mysql数据库中1045错误的问题
    这篇文章将为大家详细讲解有关如何解决mysql数据库中1045错误的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql数据库中1045错误的解决方法:首先找到M...
    99+
    2024-04-02
  • 如何解决mongoDB数据库添加账号的问题
    这篇文章主要介绍了如何解决mongoDB数据库添加账号的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 以管理员运行powershell2. mongo 连接服务器 ...
    99+
    2023-06-29
  • mysql如何解决delete删除记录数据库空间不减少问题
    这篇文章主要介绍了mysql如何解决delete删除记录数据库空间不减少问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、使用 OPTI...
    99+
    2024-04-02
  • 访问云服务器上的数据库怎么删除不了了
    尝试重新启动服务器,并检查是否有系统更新可以修复数据库。 检查数据库的权限是否被更改,例如,如果数据库被添加到了一个新的用户组中,您需要确保该用户组具有管理数据库的权限。 尝试重新创建数据库,并确保数据库的用户可以管理它。 如果您使用的是...
    99+
    2023-10-27
    器上 数据库
  • 如何解决配置文件中的数据库连接串加密了问题
    这篇文章主要介绍“如何解决配置文件中的数据库连接串加密了问题”,在日常操作中,相信很多人在如何解决配置文件中的数据库连接串加密了问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • 如何解决Oracle数据库ORA-12560错误问题
    这篇文章主要为大家展示了如何解决Oracle数据库ORA-12560错误问题,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。官网中关于ORA-12560的解释:...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作