From fa1a0b96c03f09c4d46ffe0b036b8018ac73f8b2 Mon Sep 17 00:00:00 2001 From: 16337 <1633794139@qq.com> Date: Tue, 31 Mar 2026 15:15:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9AIoT=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5=E6=94=AF=E6=8C=81mysql-con?= =?UTF-8?q?nector-python=E9=A9=B1=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 腾讯云MySQL需要use_pure+ssl_disabled参数才能认证通过, 当URL使用mysqlconnector驱动时自动添加connect_args --- app/models_iot.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/models_iot.py b/app/models_iot.py index b84f094..3d3e901 100644 --- a/app/models_iot.py +++ b/app/models_iot.py @@ -109,11 +109,16 @@ def get_iot_engine(): iot_url = settings.iot_database_url if not iot_url: raise RuntimeError("IOT_DATABASE_URL 未配置,无法连接 IoT 数据库") + # mysql+mysqlconnector 需要 connect_args 传递认证参数 + connect_args = {} + if "mysqlconnector" in iot_url: + connect_args = {"use_pure": True, "ssl_disabled": True} _iot_engine = create_engine( iot_url, echo=False, pool_recycle=1800, pool_pre_ping=True, + connect_args=connect_args, ) logger.info(f"IoT 数据库引擎已创建") return _iot_engine