【问题标题】:Python MySQL Connector: Can't connect to server with SSLPython MySQL 连接器:无法使用 SSL 连接到服务器
【发布时间】:2020-09-13 20:45:28
【问题描述】:

我正在尝试连接到安全的 MySQL 实例。我可以使用来自其他工具(包括 MySQL Workbench 和 MySQL Shell)的 SSL 从这台机器连接到这台服务器。

但是,当我使用默认连接参数进行连接时:

currdb = mysql.connector.connect(
    host="hostname",
    user="user",
    password="hunter2",
    port=3306 )

知道我的服务器配置了

require_secure_transport = 1

我收到服务器错误:

mysql.connector.errors.DatabaseError: 3159 (HY000): Connections using insecure transport are prohibited while --require_secure_transport=ON.

根据MySQL Connector documentation,连接器应首先尝试 SSL 连接,然后回退到不安全的连接。所以显然 SSL 连接失败了,没有任何解释。

当我知道失败的 SSL 连接适用于同一台机器上的其他工具时,如何解决它?

Python 版本:3.7.2

MySQL 服务器版本:5.7.30

MySQL 连接器版本:2.2.9

【问题讨论】:

    标签: python mysql ssl


    【解决方案1】:

    我认为您需要提供这些标志:

    ssl_ca 包含 SSL 证书颁发机构的文件。

    ssl_cert 包含 SSL 证书文件的文件。

    ssl_key 包含 SSL 密钥的文件。

    【讨论】:

    • 哇,谢谢!我没想到会这么简单。我只需要提供那些没有价值的人并且连接有效。
    猜你喜欢
    • 2016-04-27
    • 2011-06-19
    • 1970-01-01
    • 2012-12-24
    • 2015-05-10
    • 2012-11-03
    • 1970-01-01
    相关资源
    最近更新 更多