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

MySQL 常見錯誤碼速查與快速修復指南

     編輯:MySQL 綜合教學

MySQL 常見錯誤碼速查與快速修復指南

生產環境報警往往伴隨神秘錯誤碼。本文匯總高頻錯誤碼、現象、根因與一鍵修復命令,構建 DBA 急救手冊。

高頻錯誤碼對照表

錯誤碼SQLSTATE典型現象根因快速修復
104528000Access denied for user密碼錯誤/主機不匹配/權限不足核對密碼、SELECT User,Host FROM mysql.user、FLUSH PRIVILEGES
106223000Duplicate entry 'x' for key 'PRIMARY'主鍵/唯一鍵衝突業務去重、INSERT IGNORE/ON DUPLICATE KEY UPDATE、檢查自增值
1114HY000The table 'x' is fullMyISAM 超過 4GB/磁盤滿/InnoDB 表空間耗盡df -h、ALTER TABLE ... MAX_ROWS=、擴容/清理/添加數據文件
1129HY000Host 'x' is blocked連接錯誤超過 max_connect_errorsmysqladmin flush-hosts、調大閾值、排查應用連接邏輯
1205HY000Lock wait timeout exceeded行鎖等待超過 innodb_lock_wait_timeout優化長事務、檢查無索引 UPDATE/DELETE、SHOW ENGINE INNODB STATUS 分析
121340001Deadlock found when trying to get lock死鎖(循環等待)統一訪問順序、縮短事務、innodb_deadlock_detect=ON、應用重試邏輯
2002HY000Can't connect to local MySQL server through socket服務未啟動/socket 路徑錯/權限不足systemctl status mysqld、ls -l /var/run/mysqld/、檢查 my.cnf socket
2006/2013HY000MySQL server has gone away / Lost connection查詢超時/封包過大/服務重啟/網絡抖動調大 wait_timeout/max_allowed_packet、連接池驗證機制、排查 OOM Killer
1819HY000Your password does not satisfy the current policy requirements密碼策略 validate_password 不滿足提高密碼強度或 SET GLOBAL validate_password.policy=LOW
3167HY000TokuFT file system space is really lowTokuDB 磁盤空間低於 tokudb_fs_reserve_percent釋放磁盤空間或 SET GLOBAL tokudb_fs_reserve_percent=1(需重啟)

TokuDB 專項:保留空間參數調整


-- 查看當前值
SHOW VARIABLES LIKE 'tokudb_fs_reserve_percent';
-- 默認 5%,即保留 5% 磁盤空間不給 TokuDB 使用

-- 修改(靜態參數,需重啟)
# my.cnf [mysqld]
tokudb_fs_reserve_percent = 1
-- 或臨時繞過(僅限緊急):
# 1. 刪除大文件騰出空間
# 2. 重啟服務自動恢復寫入

通用排查三板斧

  1. 錯誤日誌: tail -100 /var/log/mysqld.log 獲取完整堆疊
  2. 狀態快照: SHOW ENGINE INNODB STATUS\G 分析鎖、事務、內存
  3. 慢查詢關聯: pt-query-digest 分析報錯時間窗口內的慢 SQL

預防性配置清單

  • max_connect_errors = 100000 避免誤封禁
  • max_allowed_packet = 256M 防大封包斷連
  • innodb_lock_wait_timeout = 50 平衡等待與死鎖檢測
  • validate_password.policy = MEDIUM 安全與易用平衡
  • 監控告警:Threads_connected > 80% max_connections、Innodb_buffer_pool_wait_free > 0、Aborted_connects 突增

建立錯誤碼 → 根因 → 修復 → 預防的閉環知識庫,將故障處理從「查文檔」變為「查手冊」,是 DBA 從初級進階高級的關鍵里程碑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved