我知道有幾個線程關於這一點,但我已經嘗試了一切,並在我的機智的結束 - 我只是想能夠連接到一個MySQL數據庫託管在EC2上。只是不能連接到MySQL EC2的ubuntu實例遠程
我已經加入3306端口到安全組在EC2上的實例。
我從my.cnf文件中刪除了bind_address(默認不再使用skip-networking)並重新啓動MySQL。我也試過bind_address =(外部IP,它以54開頭)和bind_address = 0.0.0.0。
UFW狀態爲inactive。
在服務器,運行:
mysql -u remote-user -p -h MY_EXTERNAL_IP
作品!但它不會從我的客戶工作,我得到:
`ERROR 2003 (HY000): Can't connect to MySQL server on 'MY_EXTERNAL_IP' (111)`
我創造了我目前的MySQL用戶有:
GRANT USAGE ON *.* TO 'remote-user'@'localhost' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'remote-user'@'%' IDENTIFIED BY 'password';
我甚至跑:
sudo iptables -P INPUT ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
sudo iptables -I INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
Telnet不連接:
echo X | telnet -e X MY_EXTERNAL_IP 3306
telnet: Unable to connect to remote host: Connection refused
但它連接到SSH端口:
Trying 54.221.103.104...
Connected to 54.221.103.104.
和netstat -a | grep 'mysql'
給出:
tcp 0 0 *:mysql *:* LISTEN
unix 2 [ ACC ] STREAM LISTENING 20762 /var/run/mysqld/mysqld.sock
請,我在我束手無策。我無法弄清楚這有什麼問題,我已經研究了好幾個小時。
在/etc/mysql/my.cnf
我能夠通過telnet在54.221.103.104連接到端口3306?你怎麼沒有? –
哎呀,忘了刪除IP,但我真的不在乎。謝謝 - 也許我的本地網絡阻止了傳出端口,或者什麼的。 – collisionTwo
它看起來像你做的一切權利。我會看你的本地網絡,看看它是否阻塞了輸出端口。你可以通過SSH隧道連接以及 – datasage