升级Python mariadb库后遭遇SSL强制连接问题求助
解决Python MariaDB库升级后强制SSL连接的问题
问题描述
升级Python的mariadb库至1.1.10版本(对应mariadbconnector-c 3.4.1)后,连接群晖NAS上未启用SSL/TLS的MariaDB 10.11.6时出现报错:
mariadb.OperationalError: TLS/SSL error: SSL is required, but the server does not support it
终端客户端可正常连接数据库,仅Python库连接失败;已尝试设置ssl_verify_cert=False无效,且无法通过brew降级安装旧版mariadbconnector-c。
解决方案
在数据库连接代码中显式添加ssl_mode="DISABLED"参数,彻底禁用SSL连接的强制要求:
connection = mariadb.connect( host=e_host, user=get_user_NAS(), password=get_pw_NAS(), database=database_name, ssl_mode="DISABLED" )
关键说明
- mariadbconnector-c 3.4.1版本默认将SSL连接模式设为
REQUIRED(强制要求SSL连接),而旧版本默认是PREFERRED(优先尝试SSL,失败则降级为非SSL连接),这是导致报错的核心原因。 ssl_verify_cert=False仅用于关闭SSL证书验证,无法取消SSL连接的强制要求,因此之前的尝试无效。
内容的提问来源于stack exchange,提问作者Karel Declerck
相关产品推荐
相关产品推荐

