端口3306在我的Ubuntu服务器上似乎已关闭


33

我有两台VPS服务器,都安装了MySQL,一台用于测试,一台用于开发。我的一台服务器不允许我从外部连接。与用户;

'mytestuser'@'%'

根据打开的端口查找器,有问题的服务器的端口3306似乎已关闭。我有自己的C ++和Java程序,可以在任意端口上侦听而没有任何问题。为什么会发生这种情况,我该如何解决?

安装的Ubuntu是Ubuntu 11.10(GNU / Linux 2.6.32-042stab072.10 x86_64)

netstat -tuple每台服务器上的结果

冒犯服务器

tcp        0      0 localhost.lo:submission *:*                     LISTEN      root       39967664    -

工作服务器

tcp        0      0 *:mysql                 *:*                     LISTEN      mysql      1847519288  -

Answers:


76

问题在于服务器仅在内部进行侦听。

删除线bind-address 127.0.0.1/etc/mysql/my.cnf解决问题。

较新版本的Ubuntu(≥16.04)可能在中包含此行/etc/mysql/mysql.conf.d/mysqld.cnf


2
这对我有用。请注意,正确的文件名/etc/mysql/my.cnf不是/etc/mysql/my.conf
拉里·

我更改了绑定地址以匹配服务器的外部IP地址,这对我有用。
Buttle Butkus 2014年

完全删除线路,服务器将侦听所有接口
s1mmel

您节省了我的时间,一直在尝试解决此问题几个星期,谢谢!
budiantoip

9

我的建议是,如果您确定端口已关闭(对于VPS,我认为关闭该端口很奇怪)是更改MySQL的配置文件以使用另一个。

只需在终端中打开配置文件sudo nano /etc/mysql/mysql.conf,然后找到该[mysqld]部分。在其中,查找显示为的行port = 3306。将其更改为另一个未使用的端口并保存文件。

然后,只需重新启动VPS或重新启动服务,如sudo service mysql restart

请注意,如果文件mysql.conf不在我上面提到的文件中,则可以在其他地方:

/etc/my.conf
/etc/my.cnf
/etc/mysql/my.conf

如果service命令不起作用,请执行以下操作:

sudo /etc/init.d/mysql restart

如果问题仍然存在,那么就我而言,我将检查iptables(实际上,如果可能的话,我会删除iptables中的所有内容只是为了重新开始)或任何其他启用了防火墙的选项。

由于它们是VPS,因此我还将检查“ VPS控制面板”以查看是否有任何选项可以阻止端口。

除此之外,我将nmap在VPS上运行以查看您打开了哪些端口。您需要从VPS外部运行它,以查看它们打开了哪些端口。

netstat -tuplen 查看服务器上已打开的端口以及侦听模式中的哪个端口也是一个好主意。


嘿,我在另一个端口上尝试过它,但仍然无法正常运行,我也尝试过'iptables -A INPUT -i eth0 -p tcp -m tcp --dport PORT -j ACCEPT',但是没有运气:( .. edit im not o eth0 ..可能仍然充满希望
Andy

@Andy更新了答案以包括更多建议。
Luis Alvarado

谢谢您的建议Luis我将对此进行研究。
安迪

我已将netstat -tuple的结果更新为该问题。看起来这里有问题。
安迪


6

我使用这种方法:

sudo ufw status
sudo ufw allow XXXX/tcp
# use a port other than the default/predictable 3306
# work outside, and close the door when you are done
sudo ufw deny XXXX/tcp

无需更改其他配置文件,默认情况下也无需打开其他端口。


sudo ufw allow 3306/tcp我尝试编辑但不让我
亚当(Adam)

1

您的配置可能位于目录中/etc/mysql/mysql.conf.d/mysqld.cnf,请确认是否不是这种情况。


1
我想花三个小时才能弄清楚,谢谢!
奥利弗·尼
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.