2015-10-16 17 views
2

今天,我一直試圖從我的家用機器(OSX)訪問在我的遠程工作機器(Ubuntu)上運行的MySQL,但我沒有成功。無法在我的工作開發機器上遠程訪問MySQL

在我的工作機器,我檢查以下內容:

sudo netstat -ntlup | grep mysql 

tcp  0  0 0.0.0.0:3306   0.0.0.0:*    LISTEN  23692/mysqld 

nmap告訴我

PORT  STATE SERVICE 
3306/tcp open mysql 

/etc/mysql/my.cnf我設置bind-address = 0.0.0.0

我也運行下面iptables規則:

iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT 
iptables -A OUTPUT -o lo -p tcp --sport 3306 -j ACCEPT 

我還能檢查?

如果有一些企業網絡規則阻止我的MySQL訪問,我可以檢查什麼來找到它?

我可以使這項工作的唯一方法是SSH隧道:

ssh -L 8080:localhost:3306 [email protected]_dev_machine_IP 

,然後如果我做

mysql -h 127.0.0.1 --port=8080 -u root -p 

我可以得到。如果我關閉SSH隧道,那麼我就可以。通過mysql登錄,甚至不通過telnet remote_IP 3306

但是這對我所需要的並不好,因爲我需要在本地機器上運行的PHP代碼才能訪問遠程數據庫。

我也(希望是暫時的)開闢了訪問MySQL數據庫中的所有主機/ IP:

GRANT ALL PRIVILEGES ON *.* TO 'application_username'@'%' 
FLUSH PRIVILEGES 

任何建議感激地接受!

回答

0

Ubuntu有uwf - 在某些vps安裝中,默認情況下啓用。所以,如果是這樣,請做sudo ufw allow 3306。如果您從工作機器上運行nmap,我正在編寫此文件。如果nmap顯示結果從您的mac運行,那麼這不適用。

+0

非常感謝這個@rollingBalls - 「'sudo ufw allow 3306''似乎有所作爲!我現在得到「ERROR 1045(28000):拒絕用戶'root'@192.FOO.BAR.BAZ'(使用密碼:YES)」的訪問。即使我在我的Ubuntu機器上登錄MySQL並設置了''將所有權限設置爲*。*到'%'@'%''',我仍然遇到這個錯誤。它可以與我的ISP設置有關嗎?該錯誤信息中顯示的IP地址與我從瀏覽到「whatismyip.com」時得到的IP地址不同,儘管它與我在家中的「ifconfig」輸出的「utun0」部分OSX機器。 – Monkeybrain

+0

啊!我剛纔瞭解到''utun0''數據與我的VPN連接有關。如果有幫助。 – Monkeybrain