“netstat”表示3306可用时无法绑定端口3306?

时间:2014-05-11 13:37:37

标签: mysql port

mysqld.log中的消息:

140519 19:21:53 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
140519 19:21:53 [ERROR] Do you already have another mysqld server running on port: 3306 ?
140519 19:21:53 [ERROR] Aborting

,而

netstat -nlp |grep 3306

显示没有进程正在使用此端口,但mysqld因绑定地址错误而失败。


整个故事是:

在我们的服务器上搜索mysql并使用

安装时,我滑倒了
yum -y install mysql mysql-server

然后发现mysql无法从上面的错误开始。

我不确定mysql的重复安装是否会导致此问题。我也尝试在httpd中绑定3306,得到同样的错误。

所以似乎端口管理相关功能进入了一个不一致的状态,或者一个状态是" netstat"想不通?

我可以问一下,当绑定请求到达时,系统如何检查端口是否正在使用?


以下是my.cnf的内容。它未被修改。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names=1
max_connections=13000

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
wait_timeout = 1814400

感谢@favoretti: 我通过设置bind-address = <myip> port = 3306启动了该服务 但是,

bind-address = 0.0.0.0 port = 3306无法正常工作

虽然bind-address = 0.0.0.0 port = 3307效果很好。

0.0.0.0是默认值bind-address

1 个答案:

答案 0 :(得分:1)

按要求粘贴答案。

如果从配置中删除port指令并添加bind-address = 127.0.0.1开头,它会有帮助吗?如果可行,如果要接受来自其他服务器的TCP连接,则可以将127.0.0.1替换为您的框的地址。

基本上,手动指定绑定地址。