Comment
bind-address
in my.cnf:# bind-address = 192.168.1.3
Grant privileges:
GRANT ALL PRIVILEGES ON *.* TO 'nickruiz'@'%' IDENTIFIED BY PASSWORD 'xxxx';
- Set port forwarding on router (TCP and UDP, port 3306, 192.168.1.3)
Configure iptables for firewall
sudo iptables -I INPUT -p udp --dport 3306 -j ACCEPT sudo iptables -I INPUT -p tcp --dport 3306 --syn -j ACCEPT sudo iptables-save
Restart mysql server
sudo /etc/init.d/mysql restart
局域网:
mysql -h 192.168.1.3 -u nickruiz -p
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 95
Server version: 5.1.63-0ubuntu0.11.04.1 (Ubuntu)
远程:
mysql -h 1xx.xx.4.136 -u nickruiz -p
ERROR 2003 (HY000): Can't connect to MySQL server on '1xx.xx.4.136' (111)
显然有些问题阻止我使用我的全局IP地址。
注:
- 我尝试在同一台机器上测试远程连接,还通过远程机器的SSH进行测试。
- 我不确定我的ISP是否给了我一个静态IP。
有什么想法吗?
更新: telnet似乎无法工作。
telnet 192.168.1.3 3306
Trying 192.168.1.3...
Connected to 192.168.1.3.
Escape character is '^]'.
E
5.1.63-0ubuntu0.11.04.1,0g8!:@pX;]DyY0#\)SIConnection closed by foreign host.
skip-networking
,对吗? - Michael Berkowskitelnet 192.168.1.3 3306
。如果它打开任何类型的提示符,则表示端口正在监听并接受连接。 - Michael BerkowskiEscape character is ^]
",那么你已经成功建立了连接。虽然你看不到MySQL提示符,但你已经与MySQL端口建立了原始连接,所以它在正确地监听该地址! - Michael Berkowski