【问题标题】:Connecting to MYSQL AWS-RDS using SQLAlchemy in Pycharm/ with Python在 Pycharm/ 中使用 SQLAlchemy 和 Python 连接到 MYSQL AWS-RDS
【发布时间】: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


    【解决方案1】:

    请检查以下事项。

    1) Check your rds is publicly accessible to YES. if its in private subnet check connectivity between your source(office/home/etc) to destination(RDS).
    2) open 3306 in the security group.
    3) check master user credentials. 
    
    # telnet {rds end-point} 3306 
    

    【讨论】:

    • 它是公开的。我不太清楚你在安全组中打开 3306 是什么意思。用户名和密码与我在成功连接的 MYSQL 工作台中的完全一样,这就是为什么我确定这不是问题。
    • 好的,运行这个命令 - telnet yourrdsendpoint 3306 。 3306 是 MySQL 默认端口,应该在 rds 安全组中打开以连接您的办公室/家庭网络。搜索如何在rds安全组中打开3306端口,然后运行上面的命令。如果成功,那么您将能够访问 rds,如果没有,则需要检查 vpc 级别。
    • 我应该在哪里运行命令?在我的安全组中,类型设置为所有流量,协议为 all,端口为 all,源为任意位置(0.0.0.0/0,::/0)。
    • 来自您的程序或来自 cli
    【解决方案2】:

    我发现它就像从多行字符串 """ {link} """ 更改为单引号 '{link}' 一样简单。

    【讨论】:

      猜你喜欢
      • 2013-01-28
      • 2020-09-15
      • 1970-01-01
      • 2019-05-03
      • 2019-01-01
      • 2022-10-13
      • 2018-10-23
      • 2020-10-18
      • 2014-07-26
      相关资源
      最近更新 更多