2013-03-27 140 views
0

我一直有一些麻煩試圖遠程訪問我的MySQL數據庫。 它正常工作,對其進行訪問本地或通過LAN,而是試圖通過互聯網,當我得到這個錯誤:不能遠程訪問MySQL服務器

主機「192.168.1.1」是不允許連接到這個MySQL服務器

我已經做了所有這些:

  • 禁用防火牆
  • 授予權限與本地客戶端:GRANT ALL ON *.* TO [email protected]'%' IDENTIFIED BY 'root';

然後,當我嘗試連接:

mysql -h190.XXX.XXX.XXX -uroot -proot 

請注意,我試圖通過公共IP(190.XXX.XXX.XXX)連接,但錯誤顯示路由器本地IP(路由器被配置爲將端口3306轉發到服務器主機)。

任何想法是什麼會導致它?

在此先感謝。

+1

檢查'收口address'被設置爲'0.0.0.0'接受來自遙控器的連接。 – 2013-03-27 02:45:51

回答

2

很多可能的原因:

_先在my.cnf:

#skip-networking # should be disabled 
bind-address = 0.0.0.0 #make sure it is not bound to localhost 

_然後確保沒有防火牆,你不需要打開/ etc/hosts中的端口。允許(或任何你正在使用諸如亞馬遜策略編輯器)

_也是你的資助應該有授權選項(我會用其他的東西比根用於遠程訪問):

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'pass' WITH 
GRANT OPTION; 

_然後確保你刷新權限(授權後):my.cnf`的`

flush privileges; 
+0

問題出在綁定地址變量中。 非常感謝Youn! – 2013-03-28 16:12:58

+0

謝謝你! (需要GRANT) – trogne 2015-10-08 22:40:06