我是一名学生,我试图将一些传感器值写入MySQL数据库。
作为IDE,我将使用Inteliji。首先,我开始安装数据库插件。
- 这一点做得很成功
接下来我尝试连接到数据库(见下图)
Figure of successful connection
现在,我想做的下一件事是使用MySQL连接器。因此我在r-PI上安装了MySQL,并使用以下代码来实现它。
import mysql.connector
print("Step 1")
cnx = mysql.connector.connect(user='user',
password='secret',
host='host',
database='db')
Print("Step 2")
字符串
当我现在运行我的代码时,终端将输出:
Step1
型
不知为何connect函数总是在下一个错误发生时超时:
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'mysql.studev.groept.be:3306' (110 Connection timed out)
型
那么有谁知道为什么我的连接成功了,但我却无法连接到它?长话短说,我做错了什么,我该如何解决这个问题?
提前感谢!
1条答案
按热度按时间qoefvg9y1#
超时意味着rPi上的网络无法到达--无法找到到MySQL主机
mysql.studev.groept.be
的路由。如果你在rPi的shell中执行
traceroute mysql.studev.groept.be
,你可能会发现问题所在。在rPi的shell中,你可以ssh到你大学网络中的任何机器上吗?如果是这样,您可以使用ssh端口转发来获得到数据库服务器的路由。
您是直接在rPi上运行intelliJ,还是在笔记本电脑上运行intelliJ?如果你在笔记本电脑上运行它,看起来笔记本电脑可以找到到你的服务器的路由,但rPi不能。
(If这是我的项目,我会在我的笔记本电脑上安装一个MySQL服务器,以减少通过涉及VPN的多跳连接的网络工程麻烦。