SQLAlchemy 和 PyMySQL 在连接到 AWS RDS 后拒绝连接到“localhost”

Posted

技术标签:

【中文标题】SQLAlchemy 和 PyMySQL 在连接到 AWS RDS 后拒绝连接到“localhost”【英文标题】:SQLAlchemy and PyMySQL refusing connection to 'localhost' after connecting to AWS RDS 【发布时间】:2019-01-01 07:49:08 【问题描述】:
try:
    engine = create_engine('mysql+pymysql:///mysqladmin:***@***.us-west-2.rds.amazonaws.com:3306/peopledb')
    print "Opened database successfully";

except Exception as e:
    print("Error during connection: ", str(e))

print engine.table_names()

我正在尝试使用 SQLAlchemy 和 PyMySQL 连接到 AWS RDS 中的数据库。当我访问 engine.table_names() 时,最后一行的上述代码错误。我收到的错误是:

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([Errno 10061] No connection could be made because the target machine actively refused it)")

显然我不是在尝试连接到我的本地主机,而是在连接/连接到远程主机。

我还能够使用本机 PyMySQL 命令成功连接和访问数据库,这个问题与 SQLAlchemy 有关。

提前致谢!

【问题讨论】:

【参考方案1】:

好吧,我觉得自己很笨。

我的连接字符串中有一个额外的正斜杠 (/) 破坏了它。 :(

还是谢谢!

【讨论】:

考虑删除这篇文章,因为它只是一个印刷错误,对未来的读者没有用处。 ^ 我不同意。这对我解决完全相同的问题非常有帮助!简直不敢相信就是这样。

以上是关于SQLAlchemy 和 PyMySQL 在连接到 AWS RDS 后拒绝连接到“localhost”的主要内容,如果未能解决你的问题,请参考以下文章

sqlalchemy和pymysql连接mysql的方法

python学习之pymysql和sqlalchemy

python操作mysql(pymysql + sqlalchemy)

MySQL— pymysql and SQLAlchemy

pymysql和sqlalchemy模块操作mysql数据库

使用 SQLAlchemy 和 pymysql,如何设置连接以使用 utf8mb4?