一尘不染

如何在Raspberry Pi上为外部/远程连接打开MySQL?

mysql

我有一个Raspberry Pi,它存储用于家庭酿造活动的温度数据。我在计算机上制作一个Spring
MVC应用程序,我想点击数据。我的Pi和计算机都在本地网络上。我可以完美地通过SSH和FTP进入RPi。

mysql --192.168.1.102 --u root -p db

导致“无法连接到‘192.168.1.102’上的MySQL服务器”。

很明显,我的Java应用程序没有连接。

SHOW VARIABLES WHERE VARIABLE_NAME = 'port' ;

返回默认端口3306。

是否必须启用某个设置才能允许远程连接到MySQL?


阅读 262

收藏
2020-05-17

共1个答案

一尘不染

我最近也遇到了同样的问题。我通过执行以下操作使其工作:

编辑MySQL配置

默认情况下,MySQL未配置为接受远程连接。您可以通过修改配置文件来启用远程连接:

sudo nano /etc/mysql/my.cnf

找到该[mysqld]部分。您需要更改的行是bind- address,应将其设置为默认值127.0.0.1。您想编辑此行以在网络上显示RPi的IP(在您的示例中,该IP似乎是192.168.1.102)。写下更改。

重新启动MySQL服务

sudo service mysql restart

设置MySQL权限

以root身份连接到您的MySQL实例:

mysql -p -u root

创建一个用户:

CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
  • 语法中的撇号(’)是必需的
  • IP地址是您尝试连接的网络上设备的IP地址

向相关数据库和表授予权限:

GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
  • 这些参数是您在上一步中用于创建用户的参数
  • *将授予对指定数据库内所有表的访问权限。或者,您可以指定一个特定的表
  • 您可能只想通过授予相关特权来增强安全性,但这足以测试其是否有效

那应该有望做到!

2020-05-17