当我执行代码
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="user",
passwd="password"
)
我明白了:
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (10061 No connection could be made because the target machine actively refused it)
我尝试使用“pymysql”的示例,错误仍然存在。
我浏览了互联网,很多人都说这可能是防火墙入站问题。然而,没有防火墙停止3306.亚马逊RDS上的安全组允许所有连接。我将RDS实例连接到我的本地mySql Workbench(所以我可以从那里制作表格和东西)。有趣的是,当我运行代码并且错误仍然存在时,会弹出额外的客户端连接。其他人处理这件事吗?非常感谢,我正在努力学习AWS的这一部分。
我想到了。我的主机名不应该是“localhost”,它应该是我在Amazon RDS上的端点。现在似乎很清楚,当我将我的RDS数据库连接到mySql工作台时,我输入“databasename.xxxxxxx.us-east-1.rds.amazonaws.com”作为我的主机名。现在我可以连接和读/写数据库了。