使用mysql.connector.connect的Python会产生接口错误

时间:2019-03-26 20:15:01

标签: python mysql visual-studio-code mysql-workbench amazon-rds

执行代码时

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。AmazonRDS上的安全组允许所有连接。我将RDS实例连接到我的本地mySql工作台(这样我就可以从那里制作表和东西了)。有趣的是,当我运行代码并且错误仍然存​​在时,还会弹出其他客户端连接。还有其他人处理吗?非常感谢您,我正在尝试很好地学习AWS的这一部分。

1 个答案:

答案 0 :(得分:0)

我知道了。我的主机名不应为“ localhost”,而应为我在Amazon RDS上的终端节点。现在看来很清楚,当我将RDS数据库连接到mySql工作台时,我将“ databasename.xxxxxxx.us-east-1.rds.amazonaws.com”作为主机名。现在,我可以连接并读写数据库了。