2016-06-18 212 views
0

我在需要連接到使用靜態IP的遠程服務器窗口的形式,在服務器上,但是我已經安裝的MySQL,應用程序所提供的下一個命令Mysql的遠程連接

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES; 

,也把在Windows防火牆中是一個例外,但我仍然無法連接,我不知道是否還有別的事情要做!,我忘了說它是Windows Server 2012 R2

+0

你有鑰匙嗎? – zee

+0

查看my.xnf中的bind參數。服務器可能只在127.0.0.1上偵聽。所以你不能從外部接觸他們。如果是這樣,請將其更改爲0.0.0.0並重新啓動數據庫服務器 –

+0

顯然需要創建服務器和新管理員用戶的關閉,然後才能正常工作。 – Zenoheld

回答

0

這不是問題用戶的previliges。這是關於連接權限。主要在CPanel上,我們有遠程MySQL的選項。在這個選項下,我們必須提供我們想要允許連接到mysql或通配符掩碼%的ip地址,以允許任何ip連接到服務器。檢查你的主機是如何讓你連接的。是的,這些previliges是你所需要的。沒關係,但如果您有cPanel,請檢查Remote MySQl。

謝謝

0

檢查您的日誌並捕獲您的錯誤。

  • 確認您的應用程序可以到達sql端口並連接。 (從Windows機器上,你可以telnet到sql服務器上的sql端口嗎?)如果沒有,看看你的防火牆,並驗證你的sql實例綁定到公共ip,如Bernd所建議的。
  • 一旦你知道主機可以到達sql服務器,驗證你的應用程序實際上是連接。捕捉連接函數中的錯誤並將其讀出。
  • 然後驗證憑據是否被接受。再次,捕捉任何錯誤並在程序中讀出它們。
  • 然後,當你正在處理一個sql語句時,捕獲任何錯誤並在程序中將它們讀出來。

(您可能會發現它很有用寫含有你的代碼與數據庫進行交互的任何線路檢測到任何錯誤,你的程序的日誌文件)

一旦你縮小了您的問題實際上是,解決方案可能會出現。或者至少你已經縮小了範圍,並且可以通過發生故障的特定錯誤信息來更新我們。

祝你好運!

+0

使用telnet但是我得到了很多giberish gotpacketsoutoforder的消息,並且我可以使用 mysql -h localhost -u root -p – Zenoheld