【发布时间】:2021-02-26 00:47:48
【问题描述】:
我正在使用 ssl 连接从烧瓶应用程序连接到远程 mysql 数据库(在我的本地网络上)。
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://user:password@192.168.1.24/AwesomeDB?ssl_ca=client-ssl/ca.pem&ssl_cert=client-ssl/client-cert.pem&ssl_key=client-ssl/client-key.pem"
对数据库的任何调用都会引发这个神秘的错误。
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '192.168.1.24' ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: IP address mismatch, certificate is not valid for '192.168.1.24'. (_ssl.c:1122))")
我可以从终端登录mysql监视器就好了。
mysql -u user -p -h 192.168.1.24 --ssl-ca=client-ssl/ca.pem --ssl-cert=client-ssl/client-cert.pem --ssl-key=client-ssl/client-key.pem
我使用的是 macos 11.0.1 和 python 3.9.0。
我已经尝试按照here 的描述安装和链接certifi。没有 ssl 一切正常。请帮忙。
编辑:问题不是特定于 macOS,我尝试从 ubuntu 连接,结果相同。
【问题讨论】:
标签: python mysql ssl sqlalchemy