我正在使用PHP和MySQL建立數據庫連接,唯一的變化是我試圖從我的本地計算機使用我的服務器IP地址訪問我的遠程服務器。Mysql - 使用IP地址連接到遠程服務器
mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());
和我得到的錯誤是Unable to connect to the given host
。用戶擁有所有特權和權利。
我正在使用PHP和MySQL建立數據庫連接,唯一的變化是我試圖從我的本地計算機使用我的服務器IP地址訪問我的遠程服務器。Mysql - 使用IP地址連接到遠程服務器
mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());
和我得到的錯誤是Unable to connect to the given host
。用戶擁有所有特權和權利。
大多數默認安裝的MySQL只會監聽本地計算機。
請在服務器上查找my.cnf
中的bind-address
設置,並確保它正在偵聽您的目標IP地址。您可能還需要確保skip-networking
不是開啓!
或者(!少安全)以下將它設置爲監聽所有地址 - 本地和遠程:
bind-address = 0.0.0.0
感謝大家的幫助,讓我嘗試這一切,並相信這將解決我的問題 – Frank
1)檢查MySQL的監聽連接,本地(本地主機,127.0的接口。 0.1)或遠程(0.0.0.0或IP地址)。它在my.cnf中。 http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
2)檢查您的用戶是否具有相應的權限。從本地主機登錄的用戶可以從遠程用戶獲得不同的權限。例如, '用戶' @ '本地主機' 和 '用戶' @ '%'
嘗試添加用戶(USER-NAME)允許從IP連接:
mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY "PASSWORD";
USER-NAME是(如'widor') IP是遠程連接的公共IP地址(如'195.xyz')
當然,限制您想要授予的權限(ALL PRIVILEGES可能不是你的選擇)
6年後,這已經超級有用,我已經正確設置了一切,只是沒有讓用戶訪問我需要的一切。 – Craig
在你嘗試使用PHP todo之前。打開你的終端或控制檯,然後輸入以下內容:
$的mysql -u用戶名-h x.xx.xx.x -p
然後輸入密碼
或Windows然後類型:
\路徑\到\ -u的mysql.exe用戶名-h x.xx.xx.x -p
然後輸入您的密碼
這會給你一個更詳細的響應,以作爲即將到來的認證問題。你可以100%確定你的IP地址的遠程登錄有效。如果它工作正常,那麼你的PHP代碼中的東西,你錯過了。
是您的服務器可從您的計算機訪問?特別是MYSQL服務器端口? – Fender
嘗試從終端手動連接,這將指示問題出在哪裏。 – lynks