我是一名学生,我正在尝试将一些传感器值写入MySQL数据库。

由于IDE I将使用Inteliji。 首先是通过安装数据库Plug-in开始。

  • 这是成功完成的

接下来我试图连接到数据库(见下图)

成功连接.

现在我要做的下一件事就是使用MySQL连接器。 因此,我已将MySQL安装到r-PI上并使用以下代码来实现它。

import mysql.connector
print("Step 1")
cnx = mysql.connector.connect(user='a21ib2a01', 
                              password='secret',
                              host='mysql.studev.groept.be',
                              database='a21ib2a01')
Print("Step 2")

现在我运行代码时,终端将输出:

Step1

出于某种原因,我不知道;连接功能始终使用下一个出现的错误:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'mysql.studev.groept.be:3306' (110 Connection timed out)

那么有人知道为什么我的联系是成功的,但我无法连接吗? 长话短说,我做错了什么,我如何解决这个问题?

提前致谢!

分析解答

您的超时意味着RPI上的网络无法达到--无法找到--的路由您的MySQL主机mysql.studev.groept.be

如果您在RPI中的shell中执行traceroute mysql.studev.groept.be,则可能会看到错误。

在您的RPI上的shell时,您可以在UNI网络中的任何机器中进行SSH吗?如果是这样,您可能能够使用SSH port-forwarding获取到数据库服务器的路由。

你直接在RPI上运行Intellij,或在笔记本电脑上吗?如果在笔记本电脑上运行它,它看起来像笔记本电脑可以找到到您服务器的路线,但RPI不能。

(如果这是我的项目,我会在我的笔记本电脑上安装一个MySQL服务器,以减少涉及VPN的多个跳跃的network-engineering麻烦。)