首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

MySQL Error 28 實戰排查:系統盤滿載導致臨時表操作失敗

     編輯:關於SqlServer

錯誤現場

mysql> SHOW TRIGGERS;
ERROR 1030 (HY000): Got error 28 from storage engine

mysql> SHOW ERRORS;
+-------+------+--------------------------------------------------------+
| Level | Code | Message                                                |
+-------+------+--------------------------------------------------------+
| Error | 1030 | Got error 28 from storage engine                       |
| Error |    6 | Error on delete of '/tmp/#sql_1515_0.MYI' (Errcode: 2) |
+-------+------+--------------------------------------------------------+

診斷路徑

  1. 解碼系統錯誤碼:perror 6 → No such device or address
  2. 定位臨時文件:/tmp/#sql_1515_0.MYI 為 MySQL 內部臨時 MyISAM 表文件
  3. 檢查磁碟空間:df -h 顯示系統盤 /dev/sda1 100% 滿載
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       4.9G  4.9G     0 100% /
tmpfs           252M     0  252M   0% /dev/shm
/dev/sdb1       9.9G  2.8G  6.6G  30% /opt/sdb

解決與驗證

清理系統盤釋放空間後:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       4.9G  3.5G  1.1G  77% /

SHOW TRIGGERS 即恢復正常。

核心教訓

  • Error 28 ≠ 磁碟錯誤:實為作業系統層面空間不足,MySQL 錯誤碼映射易誤導
  • tmpdir 獨立規劃:生產環境務必將 tmpdir 指向大容量、獨立監控的分區
  • 監控盲區:資料盤有空間不代表安全,系統盤與 tmp 分區同樣關鍵
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved