6

我正在尝试设置 MySql 5.5 服务器以从 Ubuntu 主机 192.168.1.139 进行远程访问,所以我在服务器的配置文件中添加了一行:bind-address=192.168.1.139:/etc/mysql/my.cf 当我尝试重新启动 mysqld ,我有以下错误:

[Note] Server hostname (bind-address): '192.168.1.139'; port: 3306
[Note]   - '192.168.1.139' resolves to '192.168.1.139';
[Note] Server socket created on IP: '192.168.1.139'.
[ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
[ERROR] Do you already have another mysqld server running on port: 3306 ?

任何人都可以帮助解决问题原因吗?以及如何打开 MySQL 服务器以从任何主机/用户进行连接,例如 my.cf 中的语法应该是什么?

4

2 回答 2

8

bind-address用于您的本地 IP 地址或网络接口。您不能绑定到远程地址。您需要在防火墙中设置规则才能执行此类限制。运行ifconfig以查看您的网络接口是什么。利用

bind-address = 0.0.0.0

允许连接到任何接口。我推荐你这篇文章https://serverfault.com/a/139326

于 2013-09-20T18:35:40.253 回答
2

我认为这个消息

[ERROR] Do you already have another mysqld server running on port: 3306 ?

可能会产生误导,因为这也可能与绑定地址有关,而不是与端口 itel 有关。

在我的情况下,数据库无法在系统初始化时启动,因为我绑定到 10.0.0.11 IP 地址,其接口在启动时尚未准备好。要解决它(在 MariaDB/Fedora 24 上):

mkdir /lib/systemd/system/mariadb.service.d
echo "[Unit]
After=network-online.target
Wants=network-online.target
" > /lib/systemd/system/mariadb.service.d/waitForNetwork.conf
于 2016-08-04T14:30:14.567 回答