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

MySQL 常見錯誤代碼速查表:1005-1045 含義、原因與解決方案

     編輯:MySQL 綜合教學

前言

MySQL 錯誤代碼 (Error Code) 是排查問題的第一線索。本文彙整 1005-1045 高頻錯誤的中文含義、典型觸發場景、標準解決步驟,並附上 perror 命令列工具用法與日誌分析技巧。

高頻錯誤代碼對照表

代碼SQLSTATE訊息典型原因解決方案
1005HY000Can't create table (errno: xxx)外鍵定義不匹配、引擎不支援、磁碟滿檢查 REFERENCES 表/欄位型別一致、ENGINE=InnoDB、磁碟空間
1006HY000Can't create database權限不足、磁碟滿、目錄不存在授權 CREATE、清理空間、檢查 datadir
1007HY000Database exists重複 CREATE DATABASE先 DROP 或加 IF NOT EXISTS
1008HY000Can't drop database資料庫不存在、權限不足確認名稱、授權 DROP
1016HY000Can't open file.frm/.ibd 損壞、遺失、權限錯誤檢查檔案存在、chown mysql:mysql、從備份還原
1021HY000Disk full磁碟空間耗盡df -h 確認、清理 binlog/臨時檔/舊備份、擴容
102223000Duplicate key唯一鍵/主鍵衝突業務去重、INSERT IGNORE/ON DUPLICATE KEY UPDATE
1030HY000Got error xxx from storage engineMyISAM 索引損壞、InnoDB 表空間損壞MyISAM: myisamchk -r; InnoDB: innodb_force_recovery
1032HY000Key not foundDELETE/UPDATE 未找到行、主從不一致檢查 WHERE 條件、主從同步修復
1036HY000Table is read onlyFLUSH TABLES WITH READ LOCK、磁碟只讀、myisamchk 鎖定UNLOCK TABLES、檢查掛載選項、結束 myisamchk
1037HY000Out of memory記憶體不足、sort_buffer/join_buffer 過大調小緩衝區、增加實體記憶體、優化查詢
1038HY000Out of sort memory排序緩衝不足增大 sort_buffer_size (會話級)、避免大結果集排序
104008004Too many connections達到 max_connections增大 max_connections、檢查連線洩漏、啟用連線池
1041HY000Out of memory (system)系統記憶體耗盡 (OOM Killer)優化內存佔用、增加 Swap、升級實例
104208S01Bad host / Can't connect主機名解析失敗、網路不通、skip-name-resolve用 IP 直連、檢查 /etc/hosts、DNS、防火牆
104308S01Invalid connection連線協議錯誤、SSL 不匹配、驅動版本升級驅動、檢查 SSL 參數、useSSL=false
104442000Access denied for user權限不足 (庫/表/欄位/程序)GRANT 相應權限、FLUSH PRIVILEGES
104528000Access denied (password)密碼錯誤、主機不匹配、認證插件重置密碼、檢查 host 欄位、ALTER USER ... IDENTIFIED WITH mysql_native_password

實用工具:perror 解析系統錯誤碼

# 1. 停庫
systemctl stop mysqld

# 2. 跳過授權表啟動
mysqld_safe --skip-grant-tables --skip-networking &

# 3. 免密登入修改
mysql -uroot
UPDATE mysql.user SET authentication_string=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

# 4. 正常重啟
pkill mysqld
systemctl start mysqld

MyISAM 表損壞修復 (1030/127)

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