【发布时间】:2020-10-18 23:06:44
【问题描述】:
我目前正在尝试使用 PyMySQL 库通过 python 程序连接到我在 AWS 上创建的 MySql 数据库
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import pymysql
host = 'admin.cjp8hsqu4je0.us-east-2.rds.amazonaws.com'
user = 'admin'
password = '12345678'
database = 'admin'
connection = pymysql.connect(host, user, password, database)
with connection:
cur = connection.cursor()
cur.execute("SELECT VERSION()")
version = cur.fetchone()
print("Database version: {} ".format(version[0]))
当我运行上述代码时,出现以下错误:
Traceback (most recent call last):
File "C:\Users\SuperPC\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pymysql\connections.py", line 581, in connect
sock = socket.create_connection(
File "C:\Users\SuperPC\AppData\Local\Programs\Python\Python38-32\lib\socket.py", line 808, in create_connection
raise err
File "C:\Users\SuperPC\AppData\Local\Programs\Python\Python38-32\lib\socket.py", line 796, in create_connection
sock.connect(sa)
socket.timeout: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "bot.py", line 10, in <module>
connection = pymysql.connect(host, user, password, database)
File "C:\Users\SuperPC\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pymysql\__init__.py", line 94, in Connect
return Connection(*args, **kwargs)
File "C:\Users\SuperPC\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pymysql\connections.py", line 325, in __init__
self.connect()
File "C:\Users\SuperPC\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pymysql\connections.py", line 630, in connect
raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'admin.cjp8hsqu4je0.us-east-2.rds.amazonaws.com' (timed out)")
我做错了什么?我给函数的参数是正确的。会不会是MySql驱动的问题?
【问题讨论】:
-
您是否已将您的 RDS 设置为公开可用?您还可以显示您的 RDS 安全组吗?
-
"您是否已将您的 RDS 设置为公开可用?"可能不会,你能告诉我们怎么做吗? “您还可以显示您的 RDS 安全组吗?” VPC 安全组默认 (sg-09ddd998b30aa17c8) (active)
-
SG 的入站规则是什么?此外,目前还不清楚 RDS 是否公开可用。它是 RDS 设置中的一个选项。
-
我会用截图给出答案,因为我无法将它粘贴到 cmets 中。
标签: mysql python-3.x amazon-web-services amazon-rds pymysql