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
)
答案 0 :(得分:1)
按要求粘贴答案。
如果从配置中删除port
指令并添加bind-address = 127.0.0.1
开头,它会有帮助吗?如果可行,如果要接受来自其他服务器的TCP连接,则可以将127.0.0.1替换为您的框的地址。
基本上,手动指定绑定地址。