【发布时间】:2020-07-08 07:24:51
【问题描述】:
我用 Flask 开发了一个网站,这是一个 python 框架,用 nginx 部署,效果很好。该网站通过 pymysql 和 SQLAlchemy 使用以下 URI 与 MySQL 数据库交互:
"SQLALCHEMY_DATABASE_URI": "mysql+pymysql://user:password@localhost/database"
网站和数据库都托管在 AWS EC2 服务器中。我正在尝试从我的个人计算机访问该数据库,与 DBeaver 建立连接。我关注的tutorial 说将 mysqld.cnf 文件中的绑定地址设置为 0.0.0.0:
bind-address = 0.0.0.0
但是,这样做会中断网站与数据库的连接。这是在日志中发现的错误:
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: ...]
因此,我无法设置绑定地址。当我评论它时,该网站再次运行。如何在允许远程访问数据库的同时保持网站正常运行?
虽然我不确定这有什么帮助,但我已经在 AWS 安全组规则中启用了与数据库的连接:
非常感谢有关我的问题的任何帮助或参考。保持安全!
【问题讨论】:
标签: python mysql nginx flask amazon-ec2