MySQL Connector Python 因"3159 (HY000): Connections using insecure transport are prohibited while --r



我正在尝试使用mysql-connector-python 8.0.28连接到mysql DB并接收SSL错误。Python版本为3.7.5。MySQL版本为8.025.

我们不能禁用--require_secure_transport=ON,因为客户需要安全性。我们尝试了mysql连接器文档中的ssl_disabled = True选项。

try:
self.conn = mysql.connector.connect(host=host,user=user,password=key, database='xxxx', port=3306, ssl_disabled=True)
self.info = self.conn.get_server_info()
#print(self.info)
self.cursor = self.conn.cursor(dictionary=True)
return self
except Error as e:
logger.error(str(e))

有人有解决这个问题的方法吗?

原因:当用户试图在应用程序管理器中添加一个ssl支持的监视器(即——require_secure_transport选项启用)作为非ssl监视器时,会发生此错误。

<<p>解决方案/strong>要克服这个问题,请遵循以下步骤:在相应的mysql shell脚本中执行如下查询:
ALTER USER '<user>'@'<host/Ip-address>' REQUIRE <tls_option>; [ tls_option: { SSL | X509 | CIPHER 'cipher' | ISSUER 'issuer' | SUBJECT 'subject' } ]

添加客户端证书和根证书到AppManagerHome/working/cert/apm.keytore.

通过在添加新监视器页面中启用"SSL"选项添加监视器。如果已经添加了监视器,请在编辑监视器页面中更新'SSL'选项。

最新更新