「存取被拒絕:解決使用者@'localhost'對資料庫的錯誤存取」`
MySQL 使用者經常遇到令人沮喪的錯誤訊息「使用者''@'localhost'對資料庫''的存取被拒絕。」此問題源自於不正確的使用者權限或設定設定。要解決此問題,請按照以下步驟操作:
-
驗證使用者憑證:
- 確保$dbSQLSQL用戶存在。
- 檢查使用者是否對 $dbname 中指定的資料庫具有適當的存取權限。
-
授予使用者權限:
- 使用下列SQL 指令授予必要的權限:
將database_name.上的所有權限授予user_name@host_name;
- 將「database_name」替換為實際資料庫名稱和「 user_name」與$dbuser 中指定的使用者。
- 將「host_name」指定為「localhost」以授予從本機的存取權限。
-
設定MySQL 綁定位址:
- 檢查MySQL 設定檔(通常名為my.cnf)中的「bind-address」設置,並將其修改為接受所有主機的連接:
bind-address = 0.0.0.0
- 重新啟動MySQL 服務以使更改生效。
-
更新程式碼:
- 修改PHP 程式碼,在mysql_connect() 函數中包含使用者名稱和密碼:
mysql_connect($dbhost, $dbuser, $dbpass) 或die(mysql_error());
-
啟用遠程訪問(如果需要):
- 要允許來自遠端主機的訪問,請確保MySQL 伺服器正在偵聽連接埠3306 並且防火牆規則配置為允許該連接埠上的連接。
以上是為什麼使用者 \'\'@\'localhost\' 對資料庫的「存取被拒絕」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!