【发布时间】:2019-07-18 13:06:34
【问题描述】:
Click to see RDS settings 我试图连接到 Amazons Web 服务上的 MYSQL 服务器,特别是 RDS-在 python (Pycharm) 中使用 SQLAlchemy。
我已经安装了 pymysql 的驱动程序以包含在引擎的连接字符串中 (engine = create_engine("mysql+pymysql://...). 我尝试设置 CIDR 安全组入站和出站规则以允许任何 IP。 我可以从 MYSQL Workbench 连接到 AWS-RDS,并使用端点、端口和凭证。 我能够使用 SQLAlchemy 和 create_engine(...) 连接到 MYSQL 的本地实例,也没有任何问题。 我已经尝试在 URL 中包含和排除端口。
try: # exception handling for database creation/ existence
engine = create_engine(link_to_db, pool_pre_ping=True, pool_recycle=3600) # Access the DB Engine
connection = engine.connect()
print("Database conn 1 successful")
except Exception as e:
logging.exception(e)
print("error connecting to db")
其中 link_to_db 是“mysql+pymysql://{RDS USERNAME}:{RDS PASSWORD}@ {RDS 端点}:3306/{数据库名称}"
预期的结果是 “数据库连接 1 成功” 打印到输出。
错误: sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '{RDS URL}' ([Errno 11001] getaddrinfo failed)") (此错误的背景:http://sqlalche.me/e/e3q8)
【问题讨论】:
标签: python mysql amazon-web-services sqlalchemy amazon-rds