Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶SQLAlchemy ssl连接与AWS RDS错误_Python_Mysql_Amazon Web Services_Flask_Aws Rds - Fatal编程技术网

Python 烧瓶SQLAlchemy ssl连接与AWS RDS错误

Python 烧瓶SQLAlchemy ssl连接与AWS RDS错误,python,mysql,amazon-web-services,flask,aws-rds,Python,Mysql,Amazon Web Services,Flask,Aws Rds,我正在尝试通过ssl将flask应用程序mysql连接与AWS RDS连接起来,当我尝试像这样使用mysql客户端时,它会工作 mysql-u user-h myrds.rds.amazonaws.com-p--sslca=rds组合ca bundle.pem 我可以登录,但当我尝试使用flask应用程序时 SQLALCHEMY\u数据库mysql://user:Password@myrds.rds.amazonaws.com.rds.amazonaws.com/miro_dev?ssl_cer

我正在尝试通过ssl将flask应用程序mysql连接与AWS RDS连接起来,当我尝试像这样使用mysql客户端时,它会工作

mysql-u user-h myrds.rds.amazonaws.com-p--sslca=rds组合ca bundle.pem

我可以登录,但当我尝试使用flask应用程序时

SQLALCHEMY\u数据库mysql://user:Password@myrds.rds.amazonaws.com.rds.amazonaws.com/miro_dev?ssl_cert=rds组合ca bundle.pem'

这会给我带来错误

sqlalchemy.exc.OperationalError:(_mysql_exceptions.OperationalError)(2026,“SSL连接错误:无法获取私钥”)

我这样做:

...
ssl_args = {'ssl': {'ca': 'YOUR_SSL_CERT_PATH'}}

db_url = 'mysql://{}:{}@{}/{}'.format(username, password, server, database)
engine = create_engine(db_url, connect_args=ssl_args, echo=False)
cnx = engine.connect()
df = pd.read_sql_table('table_name', cnx)
我建议不要输入如下路径:

~/

但是:


/home/YOUR_USER/…

我认为在您的情况下,连接字符串是正确的,您只需要使用
ssl\u ca
选项,而不是
ssl\u cert

SQLALCHEMY_DATABASE_URI = 'mysql://user:password@myrds.rds.amazonaws.com.rds.amazonaws.com/miro_dev?ssl_ca=rds-combined-ca-bundle.pem'

我可以通过添加

?sslmode=verify ca&sslrootcert=rds组合ca bundle.pem

连接到连接字符串

这是来自postgresql文档以及

如果您不关心验证rds,可以将sslmode更改为require。我从下载了pem文件