【问题标题】:MySQL server remote connection?MySQL服务器远程连接?
【发布时间】:2016-08-04 22:30:14
【问题描述】:

我正在尝试设置 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 中的语法应该是什么?

【问题讨论】:

    标签: mysql sockets


    【解决方案1】:

    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
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 2013-03-06
      • 2014-09-29
      • 1970-01-01
      • 2017-06-26
      • 2016-12-25
      相关资源
      最近更新 更多