MySQL服务器远程连接?

时间:2013-09-20 18:31:55

标签: mysql sockets

我正在尝试设置MySql 5.5服务器,以便从Ubuntu主机192.168.1.139进行远程访问,所以 我在服务器的配置文件中添加了line: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中的语法应该是什么?

2 个答案:

答案 0 :(得分:8)

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

bind-address = 0.0.0.0

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

答案 1 :(得分:2)

我认为这条消息

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

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

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