为什么我不能在amazonrds上远程访问mysql?

ercv8c1e  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(420)

所以,我已经创建了一个新的安全组 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()
iq3niunx

iq3niunx1#

可能是因为你在一个免费的pythonywhere帐号和免费帐号只能通过http(s)连接到一个特定的站点白名单。

zzoitvuj

zzoitvuj2#

您需要连接到rds示例的实际公共可见端点。 0.0.0.0/0 只是一个表示任何ip地址的占位符。在rds控制台中,找到详细信息。在“connect”下,您应该看到一个端点如下所示:

mysql–instance1.123456789012.us-east-1.rds.amazonaws.com

在命令行中,连接字符串如下所示:

mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com
    -u ec2-user -pPASSWORD yourdb

如果上述方法不能解决问题,那么您可能还需要确保端口3306(由mysql使用)不在防火墙后面。
有关更多信息,请参阅aws文档。

相关问题