有没有办法将 mysql-connector-python 中的“pool_reset_connection”与 MariaDB 10.4.7 一起使用?

2024-01-02

我想将我的python程序从普通连接更改为连接池,以便在几个小时内没有发送查询时数据库连接不会丢失,并且数据库不会一次被一堆查询淹没使用高峰。

我使用的是 Python 3.7.4、mysql-connector-python 8.0.17 和 MariaDB 10.4.7。 当我使用正常连接时它工作正常,但 MariaDB 显然不支持pool_reset_session的设定mysql.connector.pooling.MySQLConnectionPool

在我的代码开始时,它会尝试创建数据库(如果数据库尚不存在),这导致了我收到的错误。

import mysql.connector as mariadb
from mysql.connector import errorcode
from mysql.connector import pooling

cnx = mariadb.pooling.MySQLConnectionPool(user='root', password='password', host='localhost', 
                                          pool_name='connectionpool', pool_size=10, pool_reset_session=True)

try:
    db = cnx.get_connection()
    cursor = db.cursor()
    cursor.execute("CREATE DATABASE IF NOT EXISTS tests")
    print("Created database")
except mariadb.Error as err:
    print(f"Failed creating database: {err}")
finally:
    print("Finally (create)")
    db.close()

我预计这个片段只会创建数据库tests但我得到了以下两个错误:

mysql.connector.errors.NotSupportedError: MySQL version 5.7.2 and earlier does not support COM_RESET_CONNECTION.

mysql.connector.errors.OperationalError: 1047 (08S01): Unknown command

从回溯日志来看,这似乎是由于尝试执行而引起的db.close()在第 17 行。

带回溯的完整输出:https://pastebin.com/H3SAvA9N https://pastebin.com/H3SAvA9N

我问我能做些什么来解决这个问题,以及是否可以在 MariaDB 10.4.7 中使用这种连接池(我很困惑,因为它说 MySQL

我还发现 MariaDB Connector/J 确实提供了这样一个选项,称为useResetConnection但我不想仅仅为了这个功能而学习Java。


我在 mariaDB 的 mysql-connector-python 方面遇到了同样的问题,我将 mysql-connector-python 版本降级到 8.0.12,它对我有用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法将 mysql-connector-python 中的“pool_reset_connection”与 MariaDB 10.4.7 一起使用? 的相关文章

  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • 导入 pandas 显示 ImportError: 无法导入名称哈希表

    我已经在 python 3 3 上安装了 pandas 代码如下 import csv import pandas from pandas import DataFrame csvdata pandas read csv datafile
  • 没有名为“PIL”的模块

    当我尝试时遇到错误 from PIL import Image ImageFilter 在 Python 文件中我收到一条错误消息ModuleNotFoundError No module named PIL 到目前为止 我已经尝试卸载 重
  • 限制 django 应用程序模型中的单个记录?

    我想使用模型来保存 django 应用程序的系统设置 因此 我想限制该模型 使其只能有一条记录 极限怎么办 尝试这个 class MyModel models Model onefield models CharField The fiel
  • 如何优化分割重叠范围?

    我编写的这个 Python 脚本用于将重叠范围拆分为唯一范围 最后一次迭代 https codereview stackexchange com questions 285932 python script to split overlap
  • 如何动态更新 ttk.combobox?

    我正在 Windows 8 计算机上使用 Python 3 4 和 Tkinter 创建 GUI GUI 顶部有一些条目输入 然后是一些组合框 我希望组合框从先前输入描述的文本文件中获取选项列表 文件名 找到必要信息的行 分隔符类型等 我正
  • Python3.0 - 标记化和取消标记化

    我正在使用类似于以下简化脚本的内容来解析较大文件中的 python 片段 import io import tokenize src foo bar src bytes src encode src io BytesIO src src l
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此
  • 创建 matplotlib 注释后如何移动它们?

    我有以下代码来使用生成箭头ax annotate import numpy as np import matplotlib pyplot as plt fig ax plt subplots t np arange 0 0 5 0 0 01
  • Python 去掉字节 b' '

    import save string with open image jpg rb as f byte f read 1 while byte b byte f read 1 print byte 我得到的字节如下 b x00 我该如何摆脱
  • 按工作日对 pandas 数据框进行排序

    如何按工作日名称对 DataFrame 进行排序 我无法使用 pd to datetime 方法 因为我的日期不是数字 Date Transactions 0 Friday 140 652174 1 Monday 114 000000 2
  • Selenium driver.page_source() 仅提取部分 HTML DOM

    我有一个网页 当我右键单击它然后查看页面源时 我得到 SECTION A 但是当我点击它然后检查时 我得到了更长的输出 我尝试使用 JS 获取页面源 但同样的问题 我得到了输出SECTION A 我怎样才能解决这个问题 注意 我正在寻找通用
  • 根据日期列过滤并创建列

    我有一个样本数据如下 date Deadline 2018 08 01 2018 08 11 2018 09 18 2018 12 08 2018 12 18 我想用代码中描述的条件填写截止日期列 如 1 DL 2 DL 3 DL 等 基于
  • Python 中的密码子生成

    我有这段代码 用于将 DNA 字符串转换为密码子列表 然后将此列表转换为具有各自氨基酸的字符串 然而 当我运行代码并且 DNA 字符串以一对核苷酸 例如 CT 而不是三联体结尾时 代码不会生成氨基酸序列 正如您在输出中看到的 from co
  • 测试从常规函数调用 python 协程(async def)

    假设我有一些异步协程 它可以获取一些数据并返回它 像这样 async def fetch data args result await some io return result 基本上 这个协程是从协程链中调用的 初始协程是通过创建任务来
  • 如何使用Python3.4在tornado中进行异步mysql操作?

    我现在使用Python3 4 我想在Tornado中使用异步mysql客户端 我已经发现torndb https github com bdarnell torndb但在阅读其源代码后 我认为它无法进行异步mysql操作 因为它只是封装了M
  • 加入语音频道(discord.py)

    当我尝试让我的机器人加入我的语音频道时 出现以下错误 await client join voice channel voice channel 产生错误的行 Traceback most recent call last File usr
  • google-oauthlib-tool 不询问授权码,并且在 rpi-4B 上没有“--headless”选项

    我正在尝试嵌入谷歌助手SDK https developers google com assistant sdk在我的树莓派上通过以下方式本指南由 Google 提供 https developers google com assistan
  • IndexError:索引 10 超出尺寸为 10 的轴 0 的范围

    我正在以数字方式为 x 网格和 x 向量以及时间网格设置网格 但我再次设置了一个数组x 位置 只能在 0 到 20 之间并且t 时间 将从 0 到 1000 以便求解热方程 但每次我想要 例如 我将步数设置为 10 时 都会收到错误 Tra
  • Python 中维基百科 API 中的 DisambiguationError 和 GuessedAtParserWarning

    我想获得维基百科与搜索词相关的可能且可接受的名称列表 在这种情况下是 电晕 当输入以下内容时 print wikipedia summary Corona 这给出了以下输出 home virej local lib python3 8 si

随机推荐