广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 丢失数据的原因及解决
  • 226
分享到

MySQL 丢失数据的原因及解决

MySQL丢失数据MySQL丢失数据解决 2022-05-12 01:05:51 226人浏览 薄情痞子
摘要

前言 最近偶尔会收到用户反馈数据不见了,数据丢失了的问题。从现象上来看,这类问题在数据库层面就是紧急程度最高的那一类了,抛开客观条件来说,针对这一类问题的恢复手段几乎只有备份恢复+回放 Binlog,耗时一般比较久

前言

最近偶尔会收到用户反馈数据不见了,数据丢失了的问题。从现象上来看,这类问题在数据库层面就是紧急程度最高的那一类了,抛开客观条件来说,针对这一类问题的恢复手段几乎只有备份恢复+回放 Binlog,耗时一般比较久,对业务的影响也会很大。

但是,作为一个以稳定为主的软件,其实丢数据的概率是非常低的,所以这些反馈的问题,是不是真的“丢失数据了”?

问题描述

某日中午接到用户反馈,用业务账号登录数据库以后,业务库不见了。

原因分析

收到这个问题的时候,气氛还是很紧张的,一边联系用户授权登录数据库排查,一边也在和用户沟通,看看最近进行了哪些变更。

登录到数据库之后,发现业务库是存在的,结合用户的反馈:“业务库不见了”,初步判断是业务账号没有权限,用show grants查看之后,发现业务账号的权限只有 USAGE,类似如下效果:


Mysql> show grants;
+----------------------------------+
| Grants for test@%                |
+----------------------------------+
| GRANT USAGE ON *.* TO 'test'@'%' |
+----------------------------------+
1 row in set (0.00 sec)

由于只有最低的权限,这个账号显然是“看不到业务数据的”,所以重新授权之后,问题解决了。事后排查发现最初的授权操作发生在一个其他的同名账号上,类似于:


mysql> show grants;
+-------------------------------------------------------------+
| Grants for test@10.120.117.%                                |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON prd_name.* TO 'test'@'10.120.117.%' |
+-------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

拓展一下

对于“丢失数据”这个现象来看,如果是“丢失”了整个库级别的数据,但是数据库本身又一切正常的话,其实有蛮大的可能性和这个案例是一样的问题:权限错误。引起这种问题的可能性一般是两个:1. 登录的账号匹配到了同名的其他账号;2. 授权出现了问题,导致业务账号没有权限。当然,最糟糕的情况肯定是drop database的操作,通过解析 binlog 才能定位到执行这个操作的时间。

另外一类属于“丢失部分数据”,比如某张表不见了,或者是表的某些数据不见了等等。严格的来说,这一类问题也有可能是权限错误引起的,因为 MySQL 的权限控制确实可以做到表和列级别,只是现实中一般不会用到。大多数时候是误操作,比如 update 或者 delete 的时候没有 where 条件。这种时候只能通过历史备份,再利用 binlog 进行恢复,这个操作在腾讯云上封装成了“回档”的功能。

总结一下

遇到这一类问题时,可以先花一点观察一下问题的现象,可能只需要几秒钟的时间重新授权就解决这类“丢失数据”的非常紧急且非常严重问题。

以上就是MySQL 丢失数据的原因及解决的详细内容,更多关于MySQL 丢失数据的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 丢失数据的原因及解决

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

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

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MySQL 丢失数据的原因及解决
    前言 最近偶尔会收到用户反馈数据不见了,数据丢失了的问题。从现象上来看,这类问题在数据库层面就是紧急程度最高的那一类了,抛开客观条件来说,针对这一类问题的恢复手段几乎只有备份恢复+回放 Binlog,耗时一般比较久...
    99+
    2022-05-12
    MySQL 丢失数据 MySQL 丢失数据解决
  • MySQL数据丢失的原因是什么及怎么解决
    这篇文章主要介绍了MySQL数据丢失的原因是什么及怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL数据丢失的原因是什么及怎么解决文章都会有所收获,下面我们一起来...
    99+
    2023-04-28
    mysql
  • mongodb数据丢失的原因及解决方法是什么
    MongoDB数据丢失的原因可能有多种,包括硬件故障、网络故障、软件错误、人为操作错误等。以下是一些常见的原因和解决方法: 硬件...
    99+
    2023-10-21
    mongodb
  • JS数字精度丢失的原因及解决方案
    目录前言精度丢失原因如何将整数从十进制转换为二进制将小数从十进制转换为二进制解决方案第三方库Decimalbignumber变成整数总结前言 在JavaScript中计算两个十进制数...
    99+
    2022-11-13
  • Session 失效的原因汇总及解决丢失办法
    Session 失效是指在一定时间内没有用户的操作或者用户关闭了浏览器,导致服务器端的 Session 超时或者被销毁。以下是一些常...
    99+
    2023-08-16
    Session
  • PHP连接MySQL数据库失败原因及解决
    目录 背景 过程 1.按照相关博客下载安装好PHP和Phpstorm 2.安装好后的调试 1.安装网上大多数人都有的问题,我以为是我php.ini里面有些语句没改 2.发现自己Phpstorm中有PHP却没有php.ini 3.仍然报错。。...
    99+
    2023-09-02
    数据库 php 开发语言
  • 阿里云服务器接收数据丢失原因、影响及解决方案
    在互联网应用中,服务器接收数据是必不可少的环节。然而,由于各种原因,阿里云服务器可能会出现接收数据丢失的情况,这不仅可能影响用户的使用体验,也可能导致数据丢失或损坏。本文将详细介绍阿里云服务器接收数据丢失的原因、影响以及解决方案。 原因:硬...
    99+
    2023-10-31
    阿里 数据丢失 解决方案
  • MySQL安装失败的原因及解决步骤
    目录失败的原因步骤如下:步骤一步骤二步骤三步骤四步骤五步骤六总结失败的原因 1.如果你原先安装过mysql,后来卸载了再安装失败了,有可能是卸载不干净。 需要手动目录删光所有MySQL相关的文件。这一点MySQL特别坑,...
    99+
    2022-06-13
    mysql安装失败怎么删除干净 mysql安装失败start service mysql没有安装成功怎么办
  • 美国vps数据丢失的原因有哪些
    美国vps数据丢失的原因有:1、美国vps被恶意网络攻击,如被恶意植入木马和病毒,造成数据丢失;2、美国vps的物理硬件老化或损坏,导致数据存储失败,从而造成数据丢失;3、人为的操作失误,导致误删美国vps的数据信息。具体内容如下:1、网站...
    99+
    2022-10-06
  • Mysql数据库数据更新失效的原因和解决方法
    这篇文章将为大家详细讲解有关Mysql数据库数据更新失效的原因和解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 背景最近的项目中遇到一项问题,并发更新某一单据...
    99+
    2022-10-18
  • Mysql数据库乱码的原因及解决方法
    这篇文章主要介绍“Mysql数据库乱码的原因及解决方法”,在日常操作中,相信很多人在Mysql数据库乱码的原因及解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysq...
    99+
    2022-10-18
  • Mybatis查询时数据丢失的问题及解决
    目录Mybatis查询时数据丢失经过排查得出结论解决办法Mybatis查询部分字段漏查问题(mysql)Mybatis查询时数据丢失 公司里的实体类和mapper文件均由mybati...
    99+
    2022-11-13
  • PHP函数__autoload失效原因及解决方法
    1、利用sprintf()函数来格式化,语法“sprintf("%.小数位数f",$num)”。 <?php header("Content-type:text/h...
    99+
    2022-11-12
  • mysql锁表原因及解决
    mysql锁表原因及解决 问题如图 锁表发生原因 锁表发生在 insert、update、delete中;锁表的原理是数据库使用独占式锁机制,当执行上面的语句时,对表进行锁住,直到发生co...
    99+
    2023-09-01
    mysql 数据库 sql
  • MySql执行失败的原因及解决方法是什么
    MySql执行失败的原因有很多种,以下是常见的一些原因及解决方法:1. 语法错误:在编写SQL语句时,可能会出现语法错误,比如拼写错...
    99+
    2023-09-14
    MySql
  • MySQL启动失败的原因是什么及如何解决
    本篇内容主要讲解“MySQL启动失败的原因是什么及如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL启动失败的原因是什么及如何解决”吧!此处我的电...
    99+
    2022-10-19
  • MySQL索引失效的原因及解决方法是什么
    MySQL索引失效的原因可能有以下几种:1. 数据分布不均匀:如果某个列的数据分布不均匀,索引可能无法有效地过滤掉大部分的数据,导致...
    99+
    2023-10-25
    MySQL
  • MySQL安装失败的原因是什么及如何解决
    这篇文章主要讲解了“MySQL安装失败的原因是什么及如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL安装失败的原因是什么及如何解决”吧!失败的原因如果你原先安装过MySQL,...
    99+
    2023-07-02
  • mysql索引失效的原因及解决方法有哪些
    MySQL索引失效的原因及解决方法有以下几个方面:1. 索引选择不当:MySQL根据查询的条件和数据分布情况来选择使用哪个索引。如果查询的条件与索引不匹配或者数据分布不均匀,就会导致索引失效。解决方法是优化查询语句,使用合适的索引。2....
    99+
    2023-08-09
    mysql
  • 解决docker重启redis,mysql数据丢失的问题
    官方文档: 所以 mysql应如下启动: docker run -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=密码 -v /windows盘符/指定的文件夹路径:/var/lib/...
    99+
    2022-05-24
    docker 重启redis mysql 数据丢失
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作