From 6a1fad05cf9e27ea9d30c7dd92bce051d41b7b64 Mon Sep 17 00:00:00 2001 From: yanta Date: Tue, 14 May 2024 17:36:23 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9pymongo=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/engines/mongo.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/sql/engines/mongo.py b/sql/engines/mongo.py index b1ededea1b..66b178dd95 100644 --- a/sql/engines/mongo.py +++ b/sql/engines/mongo.py @@ -795,15 +795,22 @@ def execute_check(self, db_name=None, sql=""): def get_connection(self, db_name=None): self.db_name = db_name or self.instance.db_name or "admin" auth_db = self.instance.db_name or "admin" - self.conn = pymongo.MongoClient( - self.host, - self.port, - authSource=auth_db, - connect=True, - connectTimeoutMS=10000, - ) + # self.conn = pymongo.MongoClient( + # self.host, + # self.port, + # authSource=auth_db, + # connect=True, + # connectTimeoutMS=10000, + # ) + # if self.user and self.password: + # self.conn[self.db_name].authenticate(self.user, self.password, auth_db) if self.user and self.password: - self.conn[self.db_name].authenticate(self.user, self.password, auth_db) + uri = f"mongodb://{self.user}:{self.password}@{self.host}:{self.port}/{self.db_name}?authSource={auth_db}" + else: + uri = f"mongodb://{self.host}:{self.port}/{self.db_name}" + + # 使用连接字符串创建MongoClient实例 + self.conn = pymongo.MongoClient(uri, connect=True, connectTimeoutMS=10000) return self.conn def close(self): From 36f9abd8a15c2778fb3b34f12d2211d59974e8f8 Mon Sep 17 00:00:00 2001 From: yanta Date: Wed, 15 May 2024 09:43:24 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=89=87=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/engines/mongo.py | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/sql/engines/mongo.py b/sql/engines/mongo.py index 66b178dd95..07e5d03c87 100644 --- a/sql/engines/mongo.py +++ b/sql/engines/mongo.py @@ -363,9 +363,7 @@ def exec_cmd(self, sql, db_name=None, slave_ok=""): msg = "\n".join(_re_msg) msg = msg.replace("true\n", "") except Exception as e: - logger.warning( - f"mongo语句执行报错,语句:{sql},{e}错误信息{traceback.format_exc()}" - ) + logger.warning(f"mongo语句执行报错,语句:{sql},{e}错误信息{traceback.format_exc()}") finally: if is_load: fp.close() @@ -641,8 +639,7 @@ def execute_check(self, db_name=None, sql=""): id=line, errlevel=2, stagestatus="后台创建索引", - errormessage="创建索引没有加 background:true" - + alert, + errormessage="创建索引没有加 background:true" + alert, sql=check_sql, ) elif not is_in: @@ -653,8 +650,7 @@ def execute_check(self, db_name=None, sql=""): ) # 获得表的总条数 if count >= 5000000: check_result.warning = ( - alert - + "大于500万条,请在业务低谷期创建索引" + alert + "大于500万条,请在业务低谷期创建索引" ) check_result.warning_count += 1 result = ReviewResult( @@ -795,15 +791,6 @@ def execute_check(self, db_name=None, sql=""): def get_connection(self, db_name=None): self.db_name = db_name or self.instance.db_name or "admin" auth_db = self.instance.db_name or "admin" - # self.conn = pymongo.MongoClient( - # self.host, - # self.port, - # authSource=auth_db, - # connect=True, - # connectTimeoutMS=10000, - # ) - # if self.user and self.password: - # self.conn[self.db_name].authenticate(self.user, self.password, auth_db) if self.user and self.password: uri = f"mongodb://{self.user}:{self.password}@{self.host}:{self.port}/{self.db_name}?authSource={auth_db}" else: @@ -1130,9 +1117,7 @@ def query(self, db_name=None, sql="", limit_num=0, close_conn=True, **kwargs): ) except Exception as e: - logger.warning( - f"Mongo命令执行报错,语句:{sql}, 错误信息:{traceback.format_exc()}" - ) + logger.warning(f"Mongo命令执行报错,语句:{sql}, 错误信息:{traceback.format_exc()}") result_set.error = str(e) finally: if close_conn: From 6540ebe8703c70e13667b85dea2da5b35788f21f Mon Sep 17 00:00:00 2001 From: yanta Date: Wed, 15 May 2024 09:53:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8D=A2=E8=A1=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=A9=BA=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/engines/mongo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/engines/mongo.py b/sql/engines/mongo.py index 07e5d03c87..8195a3d606 100644 --- a/sql/engines/mongo.py +++ b/sql/engines/mongo.py @@ -796,7 +796,7 @@ def get_connection(self, db_name=None): else: uri = f"mongodb://{self.host}:{self.port}/{self.db_name}" - # 使用连接字符串创建MongoClient实例 + # 使用连接字符串创建MongoClient实例 self.conn = pymongo.MongoClient(uri, connect=True, connectTimeoutMS=10000) return self.conn From 97b71431aa8c22dbf0823855863444633039f9b3 Mon Sep 17 00:00:00 2001 From: yanta Date: Wed, 15 May 2024 10:01:59 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=A7=A3=E5=86=B3init=E4=B8=8D=E8=BF=87?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/engines/mongo.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sql/engines/mongo.py b/sql/engines/mongo.py index 8195a3d606..f7b357b4a8 100644 --- a/sql/engines/mongo.py +++ b/sql/engines/mongo.py @@ -795,7 +795,6 @@ def get_connection(self, db_name=None): uri = f"mongodb://{self.user}:{self.password}@{self.host}:{self.port}/{self.db_name}?authSource={auth_db}" else: uri = f"mongodb://{self.host}:{self.port}/{self.db_name}" - # 使用连接字符串创建MongoClient实例 self.conn = pymongo.MongoClient(uri, connect=True, connectTimeoutMS=10000) return self.conn