1044/1045 - Access denied for user 'username'@'yourhost'...
更新於
可應用作業系統:Windows、macOS、Linux、iOS
可應用 Navicat 產品:Navicat for MySQL, Navicat for MariaDB, Navicat Premium
可應用 Navicat 版本編號:全部
這錯誤是由你的遠端 MySQL 伺服器傳回,表示你的使用者沒有足夠權限連線到伺服器。
安裝了 MySQL 資料庫後,預設情況下它只允許 "localhost" 連線。因此,大多數伺服器端指令碼程式可以很容易連線到同一伺服器中的本地資料庫。任何用戶端電腦會被遠端 MySQL 伺服器封鎖,直到配置了使用者權限。
如果你要從你的桌面存取你的遠端 MySQL 伺服器,你首先需要知道 MySQL 權限系統如何運作。有關使用者權限的資訊是儲存在 mysql 資料庫(即在名稱為 mysql 的資料庫)中的 user、db、host、tables_priv 和 columns_priv 資料表內。當 MySQL 伺服器啟動時,它會讀取這些資料表的內容。
MySQL 存取控制將包括兩個階段:
- 伺服器檢查你的桌面(主機位址或 IP 位址)是否允許連線。
- 假設你可以連線,伺服器會檢查你的每個請求,看你是否有足夠的權限執行它。例如:Create table 權限、Drop table 權限或 Alter table 權限。
MySQL 伺服器在這兩個階段的存取控制使用 Mysql 資料庫中的 User、Db 和 Host 資料表。
如果你的遠端伺服器支援 SSH 連線,你的 Navicat 將能夠通過 SSH 通道連線到遠端 MySQL 資料庫,而不需變更任何現有的 MySQL 權限設定。SSH 通道的主要好處是當伺服器埠被封鎖時,連線到使用了防火牆的伺服器。
步驟:
你可以在你的 MySQL 伺服器命令字元執行以下命令。請諮詢你的資料庫管理員,因為他們通常會有設定權限的管理權。
GRANT ALL PRIVILEGES ON *.* TO 'YourUserName'@'%' IDENTIFIED BY "YourPassword";
或
GRANT ALL PRIVILEGES ON *.* TO 'YourUserName'@'YourIP' IDENTIFIED BY "YourPassword";
-
合作夥伴