所以,我已经创建了一个新的安全组 rds_access
对于入站->>源参数设置为 0.0.0.0/0
,并更新了示例,因此在rds Jmeter 板的“安全组”部分中,我有:rds\ U访问权限(sg )(活动)
在连接的mysql workbench“edit”部分,在“remote manager”选项卡中,我将“native windows remote management”单选按钮的值设置为active,将“hostname”参数的值设置为active 0.0.0.0
.
示例和数据库连接成功。
在我的运行在pythonany上的web应用程序中,仍然出现以下错误:
操作错误:(2003,“无法连接到'db.cx0stetemb8k.eu-central-1.rds.amazonaws.com'上的mysql服务器([errno 111]连接被拒绝))
在将我的应用程序上传到pythonanywhere之前,我已经对它进行了测试 localhost
一切正常。我也重新启动了rds示例和mysql数据库。
请告诉我我做错了什么,如何解决这个问题?
更新:为了连接到mysql服务器,我使用 flask-mysql
. 下面是代码片段:
from flaskext.mysql import MySQL
api = Api(app)
mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'user'
app.config['MYSQL_DATABASE_PASSWORD'] = 'password'
app.config['MYSQL_DATABASE_DB'] = 'bachelor_diploma_db'
app.config['MYSQL_DATABASE_HOST'] = 'bachelor-diploma-db.cx0stetemb8k.eu-central-1.rds.amazonaws.com'
mysql.init_app(app)
然后在我使用的方法中:
conn = mysql.connect()
2条答案
按热度按时间iq3niunx1#
可能是因为你在一个免费的pythonywhere帐号和免费帐号只能通过http(s)连接到一个特定的站点白名单。
zzoitvuj2#
您需要连接到rds示例的实际公共可见端点。
0.0.0.0/0
只是一个表示任何ip地址的占位符。在rds控制台中,找到详细信息。在“connect”下,您应该看到一个端点如下所示:在命令行中,连接字符串如下所示:
如果上述方法不能解决问题,那么您可能还需要确保端口3306(由mysql使用)不在防火墙后面。
有关更多信息,请参阅aws文档。