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

MySQL 常見錯誤代碼速查與解決方案彙總

     編輯:MySQL 綜合教學

MySQL 常見錯誤代碼速查與解決方案彙總

整理開發運維中高頻出現的 MySQL 錯誤代碼、原因與標準處理流程,建議收藏備查。

1. 服務啟動失敗:Error 1067

現象:Windows 服務管理員啟動 MySQL 服務報「程序意外終止 (1067)」。

標準修復流程:

  1. 在 MySQL 解壓根目錄建立 my.ini,最小必要配置:
    [mysqld]
    basedir=C:/tool/mysql5617win32
    datadir=C:/tool/mysql5617win32/data
    character_set_server=utf8
    character_set_client=utf8
  2. 管理員命令列移除舊服務並重新安裝:
    sc delete mysql
    mysqld install MySQL --defaults-file="C:\tool\mysql5617win32\my.ini"
    net start mysql
  3. 重啟電腦確保乾淨環境後再嘗試啟動。

2. 修改 root 密碼報 10061

原因:MySQL 服務未啟動,或防火牆阻擋 3306 埠(遠端連線)。

處理:

  1. 服務管理員確認 MySQL 服務狀態為「執行中」。
  2. 遠端環境檢查防火牆入站規則允許 3306,或暫時關閉防火牆測試。

3. 修改 root 密碼報 10045 (Access denied)

原因:無密碼或密碼錯誤嘗試執行需權限操作。

重設 root 密碼標準步驟:

  1. 命令列進入 bin 目錄:cd C:\tool\mysql5617win32\bin
  2. 跳過權限啟動(臨時):mysqld --skip-grant-tables(另開視窗)
  3. 免密登入:mysql -u root -p → 直接 Enter
  4. 更新密碼:
    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('newpass') WHERE User='root';
    FLUSH PRIVILEGES;
  5. 正常重啟服務,新密碼登入驗證。

4. NDBCLUSTER 啟動報 unknown variable 'log-bin'

原因:my.cnf 中 [mysqld] 區段包含資料節點不支援的參數。

修正:註釋或移除 log-bin=mysql-bin、server-id=1、skip-locking(新版用 skip-external-locking)。

5. ecshop 報 MySQL server error report: Array

原因:資料庫缺少 ecs_setup_keyword 表(外掛安裝未建表或遷移遺漏)。

處理:在本地全新安裝同版 ecshop,匯出該表 DDL,在線上資料庫執行建表;或聯繫外掛提供方補充安裝腳本。

快速查表:常見錯誤代碼對照

代碼常見原因關鍵處理
1045帳密錯誤/主機不允許檢查 user.Host、密碼、FLUSH PRIVILEGES
1049資料庫不存在建立資料庫或修正連線字串
1050表已存在CREATE TABLE IF NOT EXISTS 或先 DROP
1062主鍵/唯一鍵重複檢查自增值、INSERT IGNORE/ON DUPLICATE KEY UPDATE
1064SQL 語法錯誤檢查保留字需反引號、引號配對、版本相容語法
1146表不存在拼寫、大小寫敏感度、lower_case_table_names
1205鎖等待超時優化長事務、索引、innodb_lock_wait_timeout
1213死鎖固定加鎖順序、縮短事務、SHOW ENGINE INNODB STATUS 分析
2006MySQL server has gone away增大 max_allowed_packet、檢查 wait_timeout、長連線重連機制
2013Lost connection during query同 2006,網路不穩或查詢過大

通用排查原則

  1. 看錯誤代碼與訊息,定位層級(連線、權限、語法、引擎、資源)。
  2. 檢查錯誤日誌 .err 檔案獲取完整堆疊。
  3. 驗證配置檔 my.cnf/ini 語法與參數相容性。
  4. 最小化重現:簡化 SQL、隔離變數、對照版本差異。
  5. 備份優先:任何修復操作前先備份資料與配置。

建立團隊專屬錯誤知識庫,將每次踩坑轉化為可複用的 SOP,是提升運維效能的關鍵。

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