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

解決 Navicat 連接 MySQL 遠程資料庫出現 10061、1045 錯誤的完整指南

     編輯:MySQL 綜合教學

前言

使用 Navicat for MySQL 連接遠端 MySQL 資料庫時,常會遇到 2003 - Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (10061) 或 1045 - Access denied for user 'root'@'host' (using password: NO) 等錯誤。這兩個錯誤分別對應「連線被拒絕」與「權限不足」,本文將詳細說明原因與解決步驟。

錯誤 10061:MySQL 預設不允許遠程連線

原因分析

MySQL 預設綁定本機回環地址(127.0.0.1),導致外部 IP 無法連線。

解決步驟

  1. 在伺服器端 MySQL 安裝目錄下找到 my.ini(Windows)或 my.cnf(Linux)。
  2. 找到 bind-address 參數,將其值從 127.0.0.1 改為伺服器的實際公網/內網 IP(例如 223.210.102.21),或直接註解掉該行以允許所有 IP 連線。
    注意:MySQL 5.6 以上版本若配置檔中無此參數,可自行新增於 [mysqld] 區塊下。
  3. 重啟 MySQL 服務使配置生效:
    Windows:net stop mysql && net start mysql
    Linux:systemctl restart mysqld 或 service mysql restart

錯誤 1045:遠程登入用戶缺乏權限

原因分析

MySQL 預設僅允許 root@localhost 登入,遠程主機的 root 或其他用戶未被授權。

解決步驟

  1. 以具備管理權限的帳號登入 MySQL:
    mysql -u root -p
  2. 執行授權指令,允許指定用戶從任意主機(%)連線:
    GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    建議:生產環境請限制具體 IP,避免使用 %。
  3. 驗證連線:在 Navicat 中重新測試連線。

常見補充檢查

  • 確認防火牆已開放 3306 埠(或自訂埠)。
  • 檢查雲服務商安全群組/防火牆規則。
  • 若使用 MySQL 8.0+,需注意 caching_sha2_password 驗證插件相容性,必要時改用 mysql_native_password。

完成上述步驟後,大多數遠程連線問題即可解決。若仍有異常,請檢查錯誤日誌(.err 檔案)或留言討論。

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