MySQL服务器远程连接?

6

我正在尝试设置远程访问Ubuntu主机192.168.1.139的MySql 5.5服务器,因此我在服务器的配置文件/etc/mysql/my.cf中添加了以下行:bind-address=192.168.1.139。当我尝试重新启动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文件中应该使用什么语法?

2个回答

8

bind-address 是指本地IP地址或网络接口。您无法绑定到远程地址。如果要做这样的限制,您需要在防火墙中设置规则。运行ifconfig以查看您的网络接口。使用

bind-address = 0.0.0.0

允许连接到任何接口。我建议您阅读这篇文章:https://serverfault.com/a/139326


2

我认为这条消息

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

这段话可能会有点误导,因为它也可能与绑定地址有关,而不仅仅是端口本身。

在我的情况下,数据库无法在系统初始化时启动,因为我绑定到了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

谢谢,帮了我大忙。这个问题也有一个开放的问题 https://jira.mariadb.org/browse/MDEV-10646 - Flo Woo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接