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

MySQL磁盤壞塊處理的全流程

 更新時間:2025年07月22日 09:58:01   作者:喝醉酒的小白  
當(dāng) MySQL 所在磁盤出現(xiàn)壞塊(Bad Sector),可能導(dǎo)致數(shù)據(jù)庫實例異常重啟、表損壞、數(shù)據(jù)無法讀取或?qū)懭氲葒乐貑栴},此類問題不僅涉及 MySQL 層處理,還需配合操作系統(tǒng)和硬件層面進行綜合判斷與修復(fù),所以本文給大家介紹了MySQL磁盤壞塊處理的全流程

MySQL 磁盤壞塊問題的處理總體流程

下面是推薦的分階段處理流程,適用于生產(chǎn)環(huán)境,強調(diào)數(shù)據(jù)保護、風(fēng)險評估、逐步推進:

第一階段:問題確認與隔離

1.1 檢查 MySQL 日志確認癥狀

查看 mysqld.err 或 MySQL 日志是否存在以下關(guān)鍵詞:

  • InnoDB: Operating system error number 5
  • InnoDB: Unable to read page
  • InnoDB: corruption
  • Got error -1 from storage engine
  • IO error 5 / IO error 13
  • 實例崩潰、自動重啟堆棧信息(signal 11)

1.2 確認是否磁盤 I/O 層問題

使用如下工具:

dmesg | grep -i error
dmesg | grep -i sda  # 根據(jù)你使用的磁盤設(shè)備

重點關(guān)注如:

Buffer I/O error on device /dev/sda3, logical block 123456
EXT4-fs error (device sda3): ...

第二階段:應(yīng)急保護與備份

2.1 立即備份其他健康數(shù)據(jù)

  • 使用 mysqldumpxtrabackup、cp 等方式備份未受影響的庫/表。
  • 防止壞塊擴大損害。

2.2 停止寫入請求

可通過 FLUSH TABLES WITH READ LOCK; 鎖定全局讀??;

或直接將 MySQL 實例切換為只讀:

SET GLOBAL read_only = ON;

第三階段:診斷壞塊位置與影響

3.1 使用 badblocks 工具檢測磁盤壞塊

badblocks -sv /dev/sda > badblocks.txt
  • 可配合 fsck、e2fsck 使用映射壞塊文件排查表空間損壞。

3.2 確認受損數(shù)據(jù)文件位置(特別是 .ibd 文件)

ls -lh /var/lib/mysql/databasename/
file /var/lib/mysql/databasename/table.ibd

可配合 strace -f -p $(pidof mysqld) 跟蹤是否某個 .ibd 文件訪問時報錯。

第四階段:修復(fù)受影響表或表空間

4.1 若只影響單表,可嘗試以下修復(fù)操作:

方法A:導(dǎo)出可導(dǎo)出的數(shù)據(jù)后刪除表

SELECT * FROM problem_table INTO OUTFILE '/tmp/backup.csv';
TRUNCATE TABLE problem_table;
DROP TABLE problem_table;

方法B:將表移出數(shù)據(jù)目錄再嘗試 DROP

systemctl stop mysqld
mv /var/lib/mysql/dbname/problem_table.ibd /tmp/
systemctl start mysqld

# 然后登錄 MySQL 執(zhí)行:
DROP TABLE dbname.problem_table;

注意這樣會讓 InnoDB 報告表空間文件不存在,但通常可跳過 DROP 階段的 crash。

方法C:使用 innodb_force_recovery 修復(fù)

編輯 my.cnf 添加:

[mysqld]
innodb_force_recovery=1

數(shù)值從 1 到 6 逐級遞增(數(shù)值越高風(fēng)險越大,建議從 1 開始測試)

然后重啟 MySQL,再嘗試導(dǎo)出或 DROP 表。

第五階段:系統(tǒng)層修復(fù)或替換磁盤

5.1 標記/屏蔽壞塊(臨時措施,不推薦長期使用)

e2fsck -l badblocks.txt /dev/sda3

5.2 若壞塊不可控,推薦更換磁盤

  • 使用 ddrescue 拷貝數(shù)據(jù)至新磁盤;
  • 全量備份 + 恢復(fù)到新設(shè)備是最終手段。

附:innodb_force_recovery 參數(shù)說明

含義風(fēng)險級別
1跳過 insert buffer 的恢復(fù)安全
2跳過 redo log 的應(yīng)用
3跳過 undo log 恢復(fù)
4不執(zhí)行 purge 操作
5不執(zhí)行 insert buffer 合并
6禁止雙寫緩沖,跳過一切恢復(fù)流程極高

總結(jié):MySQL 磁盤壞塊處理建議

步驟行動目的
1確認日志、dmesg、壞塊位置確認是否真為磁盤故障
2備份健康數(shù)據(jù)防止壞塊擴散影響
3使用 TRUNCATE 或 rename + DROP規(guī)避觸發(fā) I/O 錯誤
4啟用 innodb_force_recovery 修復(fù)數(shù)據(jù)導(dǎo)出和表結(jié)構(gòu)清理
5標記壞塊或更換磁盤根除問題源頭

如果你能提供 mysqld.errdmesg 日志中具體的報錯信息,我可以幫你進一步診斷。需要我協(xié)助你寫具體的修復(fù)操作腳本也可以。

到此這篇關(guān)于MySQL磁盤壞塊處理的全流程的文章就介紹到這了,更多相關(guān)MySQL磁盤壞塊處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux下MySQL 5.5.8 源碼編譯安裝記錄分享

    Linux下MySQL 5.5.8 源碼編譯安裝記錄分享

    Linux下MySQL 5.5.8 源碼編譯安裝記錄分享,需要的朋友可以參考下。
    2011-10-10
  • IDEA連接不上MySQL端口號占用的解決

    IDEA連接不上MySQL端口號占用的解決

    這篇文章主要介紹了IDEA連接不上MySQL端口號占用的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • mysql 判斷記錄是否存在方法比較

    mysql 判斷記錄是否存在方法比較

    把數(shù)據(jù)寫入到數(shù)據(jù)庫的時,常常會碰到先要檢測要插入的記錄是否存在,然后決定是否要寫入。
    2011-08-08
  • mysql連續(xù)聚合原理與用法實例分析

    mysql連續(xù)聚合原理與用法實例分析

    這篇文章主要介紹了mysql連續(xù)聚合原理與用法,結(jié)合實例形式分析了mysql連續(xù)聚合的原理、功能、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12
  • MySQL導(dǎo)入數(shù)據(jù)權(quán)限問題的解決

    MySQL導(dǎo)入數(shù)據(jù)權(quán)限問題的解決

    本文主要介紹了MySQL導(dǎo)入數(shù)據(jù)權(quán)限問題的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • MySQL表操作及查詢功能詳解

    MySQL表操作及查詢功能詳解

    在MySQL中,表操作主要包括創(chuàng)建表、修改表結(jié)構(gòu)、刪除表以及查詢表數(shù)據(jù)等,本文給大家介紹MySQL表操作及查詢功能,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • MySQL多表查詢內(nèi)連接外連接詳解(使用join、left?join、right?join和full?join)

    MySQL多表查詢內(nèi)連接外連接詳解(使用join、left?join、right?join和full?join)

    這篇文章主要給大家介紹了關(guān)于MySQL多表查詢內(nèi)連接外連接的相關(guān)資料,文中主要介紹的是使用join、left?join、right?join和full?join,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • MySQL進行JSON復(fù)雜查詢的完全指南

    MySQL進行JSON復(fù)雜查詢的完全指南

    這篇文章主要為大家詳細介紹了MySQL中進行JSON復(fù)雜查詢的相關(guān)知識,包括從等值判斷到深度搜索,文中的示例代碼講解詳細,感興趣的喜歡可以了解下
    2025-07-07
  • windows10安裝mysql5.7.18教程

    windows10安裝mysql5.7.18教程

    windows10安裝mysql5.7.18是這樣安裝的嗎?這篇文章主要為大家詳細介紹了win10下mysql5.7.18安裝配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • MySQL中復(fù)制數(shù)據(jù)表中的數(shù)據(jù)到新表中的操作教程

    MySQL中復(fù)制數(shù)據(jù)表中的數(shù)據(jù)到新表中的操作教程

    這篇文章主要介紹了MySQL中復(fù)制數(shù)據(jù)表中的數(shù)據(jù)到新表中的操作教程,文中分為新表存在和新表不存在兩種情況來講,需要的朋友可以參考下
    2016-03-03

最新評論

平舆县| 阜新| 哈巴河县| 澄江县| 册亨县| 房产| 和硕县| 河曲县| 郧西县| 齐齐哈尔市| 吴堡县| 内丘县| 高邮市| 沙坪坝区| 陕西省| 松阳县| 南充市| 泰宁县| 翁源县| 安吉县| 乡城县| 剑阁县| 义马市| 林甸县| 中西区| 乐业县| 河曲县| 阿合奇县| 香格里拉县| 沙雅县| 和硕县| 克什克腾旗| 紫金县| 乐都县| 桦南县| 栾川县| 新和县| 侯马市| 讷河市| 闵行区| 广德县|