背景

背景

背景

因此,我在 Raspberry Pi 上有一个运行良好的 Web 服务器。Web 服务器在后台使用 MySQL,网页可以毫无问题地进行查询。最近,我想直接连接到 MySQL 服务器,而不通过 Web 服务器。我已经将其安装phpmyadmin到我的服务器机器 (RaspberryPi) 上,并且可以按照在线教程的帮助进行连接host.com/phpmyadmin。这一切都运行良好,目前我没有遇到任何问题。但是,每当我尝试通过互联网或甚至在同一网络上进行连接时,它都不起作用。

我尝试过

因此,从 RaspberryPi 本身来看,我已经安装了mysql-client,并且能够成功连接到自身并执行查询。这表明我的连接参数此时有效。

下一步,我尝试从同一网络内的计算机进行连接。我选择使用 HeidiSQL 作为我的客户端。我有hostname = 192.168.0.106(服务器的本地 IP)、端口330680user = valid用户以及密码。此时它无法连接到服务器。我已验证正在使用的端口是 3306,这是安装时的标准端口。

我是否遗漏了 MySQL 方面的某些内容,以允许其他人连接到它?也许我遗漏了一些非常简单的东西。

答案1

让 MySQL 监听所有接口

您的 MySQL 版本可能默认监听本地主机接口(127.0.0.1 等)*。您可以让它监听特定接口,或者如果您愿意,也可以监听所有接口。

让它监听所有接口:

  • 打开/etc/mysql/my.cnf
  • 注释掉该行bind-address = 127.0.0.1( → #bind-address = 127.0.0.1)
  • 重新启动 MySQL(例如sudo service mysql restart,无论你如何管理服务)

* 请注意,根据文档,默认地址是0.0.0.0,但分布可能会改变这一点。

参考:服务器命令选项 ( --bind-address)

相关内容