背景
因此,我在 Raspberry Pi 上有一个运行良好的 Web 服务器。Web 服务器在后台使用 MySQL,网页可以毫无问题地进行查询。最近,我想直接连接到 MySQL 服务器,而不通过 Web 服务器。我已经将其安装phpmyadmin
到我的服务器机器 (RaspberryPi) 上,并且可以按照在线教程的帮助进行连接host.com/phpmyadmin
。这一切都运行良好,目前我没有遇到任何问题。但是,每当我尝试通过互联网或甚至在同一网络上进行连接时,它都不起作用。
我尝试过
因此,从 RaspberryPi 本身来看,我已经安装了mysql-client
,并且能够成功连接到自身并执行查询。这表明我的连接参数此时有效。
下一步,我尝试从同一网络内的计算机进行连接。我选择使用 HeidiSQL 作为我的客户端。我有hostname = 192.168.0.106
(服务器的本地 IP)、端口3306
或80
、user = 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
,但分布可能会改变这一点。