最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 丟失數(shù)據(jù)的原因及解決

 更新時(shí)間:2021年05月08日 09:50:38   作者:王文安@DBA  
這篇文章主要介紹了MySQL 丟失數(shù)據(jù)的原因及解決,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下

前言

最近偶爾會(huì)收到用戶反饋數(shù)據(jù)不見(jiàn)了,數(shù)據(jù)丟失了的問(wèn)題。從現(xiàn)象上來(lái)看,這類問(wèn)題在數(shù)據(jù)庫(kù)層面就是緊急程度最高的那一類了,拋開(kāi)客觀條件來(lái)說(shuō),針對(duì)這一類問(wèn)題的恢復(fù)手段幾乎只有備份恢復(fù)+回放 Binlog,耗時(shí)一般比較久,對(duì)業(yè)務(wù)的影響也會(huì)很大。

但是,作為一個(gè)以穩(wěn)定為主的軟件,其實(shí)丟數(shù)據(jù)的概率是非常低的,所以這些反饋的問(wèn)題,是不是真的“丟失數(shù)據(jù)了”?

問(wèn)題描述

某日中午接到用戶反饋,用業(yè)務(wù)賬號(hào)登錄數(shù)據(jù)庫(kù)以后,業(yè)務(wù)庫(kù)不見(jiàn)了。

原因分析

收到這個(gè)問(wèn)題的時(shí)候,氣氛還是很緊張的,一邊聯(lián)系用戶授權(quán)登錄數(shù)據(jù)庫(kù)排查,一邊也在和用戶溝通,看看最近進(jìn)行了哪些變更。

登錄到數(shù)據(jù)庫(kù)之后,發(fā)現(xiàn)業(yè)務(wù)庫(kù)是存在的,結(jié)合用戶的反饋:“業(yè)務(wù)庫(kù)不見(jiàn)了”,初步判斷是業(yè)務(wù)賬號(hào)沒(méi)有權(quán)限,用show grants查看之后,發(fā)現(xiàn)業(yè)務(wù)賬號(hào)的權(quán)限只有 USAGE,類似如下效果:

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

由于只有最低的權(quán)限,這個(gè)賬號(hào)顯然是“看不到業(yè)務(wù)數(shù)據(jù)的”,所以重新授權(quán)之后,問(wèn)題解決了。事后排查發(fā)現(xiàn)最初的授權(quán)操作發(fā)生在一個(gè)其他的同名賬號(hào)上,類似于:

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>

拓展一下

對(duì)于“丟失數(shù)據(jù)”這個(gè)現(xiàn)象來(lái)看,如果是“丟失”了整個(gè)庫(kù)級(jí)別的數(shù)據(jù),但是數(shù)據(jù)庫(kù)本身又一切正常的話,其實(shí)有蠻大的可能性和這個(gè)案例是一樣的問(wèn)題:權(quán)限錯(cuò)誤。引起這種問(wèn)題的可能性一般是兩個(gè):1. 登錄的賬號(hào)匹配到了同名的其他賬號(hào);2. 授權(quán)出現(xiàn)了問(wèn)題,導(dǎo)致業(yè)務(wù)賬號(hào)沒(méi)有權(quán)限。當(dāng)然,最糟糕的情況肯定是drop database的操作,通過(guò)解析 binlog 才能定位到執(zhí)行這個(gè)操作的時(shí)間。

另外一類屬于“丟失部分?jǐn)?shù)據(jù)”,比如某張表不見(jiàn)了,或者是表的某些數(shù)據(jù)不見(jiàn)了等等。嚴(yán)格的來(lái)說(shuō),這一類問(wèn)題也有可能是權(quán)限錯(cuò)誤引起的,因?yàn)?MySQL 的權(quán)限控制確實(shí)可以做到表和列級(jí)別,只是現(xiàn)實(shí)中一般不會(huì)用到。大多數(shù)時(shí)候是誤操作,比如 update 或者 delete 的時(shí)候沒(méi)有 where 條件。這種時(shí)候只能通過(guò)歷史備份,再利用 binlog 進(jìn)行恢復(fù),這個(gè)操作在騰訊云上封裝成了“回檔”的功能。

總結(jié)一下

遇到這一類問(wèn)題時(shí),可以先花一點(diǎn)觀察一下問(wèn)題的現(xiàn)象,可能只需要幾秒鐘的時(shí)間重新授權(quán)就解決這類“丟失數(shù)據(jù)”的非常緊急且非常嚴(yán)重問(wèn)題。

以上就是MySQL 丟失數(shù)據(jù)的原因及解決的詳細(xì)內(nèi)容,更多關(guān)于MySQL 丟失數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL8.0.27安裝過(guò)程中卡在Initializing?Database中并報(bào)錯(cuò)的解決

    MySQL8.0.27安裝過(guò)程中卡在Initializing?Database中并報(bào)錯(cuò)的解決

    本文主要介紹了MySQL8.0.27安裝過(guò)程中卡在Initializing?Database中并報(bào)錯(cuò)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • mysql?8.0.28?winx64.zip安裝配置方法圖文教程

    mysql?8.0.28?winx64.zip安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql?8.0.28?winx64.zip安裝配置方法圖文教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • mysql大表復(fù)制的具體實(shí)現(xiàn)

    mysql大表復(fù)制的具體實(shí)現(xiàn)

    MySQL大表復(fù)制是指將一個(gè)數(shù)據(jù)庫(kù)中的大表復(fù)制到另一個(gè)數(shù)據(jù)庫(kù)中,以實(shí)現(xiàn)數(shù)據(jù)的備份或數(shù)據(jù)遷移的目的,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • mysql錯(cuò)誤代碼error2003的問(wèn)題及解決

    mysql錯(cuò)誤代碼error2003的問(wèn)題及解決

    這篇文章主要介紹了mysql錯(cuò)誤代碼error2003的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Mysql命令行導(dǎo)入sql數(shù)據(jù)的代碼

    Mysql命令行導(dǎo)入sql數(shù)據(jù)的代碼

    Mysql命令行導(dǎo)入sql數(shù)據(jù)的實(shí)現(xiàn)方法是我們經(jīng)常會(huì)用到的,下面就為你詳細(xì)介紹Mysql命令行導(dǎo)入sql數(shù)據(jù)的方法步驟,希望對(duì)您學(xué)習(xí)Mysql命令行方面能有所幫助。
    2010-12-12
  • mysql數(shù)據(jù)庫(kù)sql優(yōu)化原則(經(jīng)驗(yàn)總結(jié))

    mysql數(shù)據(jù)庫(kù)sql優(yōu)化原則(經(jīng)驗(yàn)總結(jié))

    這里的原則 只是針對(duì)mysql數(shù)據(jù)庫(kù),其他的數(shù)據(jù)庫(kù) 某些是殊途同歸,某些還是存在差異。我總結(jié)的也是mysql普遍的規(guī)則,對(duì)于某些特殊情況得特殊對(duì)待。在構(gòu)造sql語(yǔ)句的時(shí)候養(yǎng)成良好的習(xí)慣
    2014-03-03
  • SQL行轉(zhuǎn)列與列轉(zhuǎn)行詳情

    SQL行轉(zhuǎn)列與列轉(zhuǎn)行詳情

    這篇文章主要介紹了SQL行轉(zhuǎn)列與列轉(zhuǎn)行,違章以SQL數(shù)據(jù)展開(kāi)詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-03-03
  • Mysql臨時(shí)表原理及創(chuàng)建方法解析

    Mysql臨時(shí)表原理及創(chuàng)建方法解析

    這篇文章主要介紹了Mysql臨時(shí)表原理及創(chuàng)建方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 聊聊QT添加MySQL驅(qū)動(dòng)依賴的問(wèn)題

    聊聊QT添加MySQL驅(qū)動(dòng)依賴的問(wèn)題

    這篇文章主要介紹了QT添加MySQL驅(qū)動(dòng)依賴的問(wèn)題,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • MySQL刪除數(shù)據(jù)庫(kù)的兩種方法

    MySQL刪除數(shù)據(jù)庫(kù)的兩種方法

    這篇文章主要為大家詳細(xì)介紹了MySQL刪除數(shù)據(jù)庫(kù)的兩種方法,感興趣的小伙伴們可以參考一下
    2016-06-06

最新評(píng)論

天水市| 丰城市| 安丘市| 博爱县| 平泉县| 大同县| 宁安市| 慈溪市| 醴陵市| 福贡县| 逊克县| 图们市| 凤台县| 新泰市| 如皋市| 大同市| 德昌县| 灌阳县| 曲阜市| 建平县| 金沙县| 黄梅县| 新干县| 固阳县| 旬阳县| 修文县| 乡城县| 临颍县| 永嘉县| 延津县| 澜沧| 中方县| 昌吉市| 衡阳市| 贞丰县| 山阴县| 湘潭市| 井研县| 土默特右旗| 龙海市| 体育|