今天,我一直試圖從我的家用機器(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
任何建議感激地接受!
非常感謝這個@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
啊!我剛纔瞭解到''utun0''數據與我的VPN連接有關。如果有幫助。 – Monkeybrain