gpt4 book ai didi

python - 在 Python 中使用 PyMysql 连接 MariaDB 的问题

转载 作者:行者123 更新时间:2023-12-03 21:03:42 25 4
gpt4 key购买 nike

我有一个与 MariaDB database in a Docker container 连接的 Flask Python API我正在使用 PyMysql 连接到数据库.

问题是我的服务器或应用程序在 10 分钟后关闭了连接。
我已经尝试在 MariaDB 配置文件和 PyMySQL 中增加超时时间,但无济于事。错误如下:

python 错误:

"OperationalError: (2006, "MySQL server has gone away 
(ConnectionResetError(104, 'Connection reset by peer'))")"

数据库错误:
"[Warning] Aborted connection 9 to db: 'db' user: 'user' host: 'ip'
(Got timeout reading communication packets)"

有谁知道如何解决这个问题?

我在下面给出了我的 MariaDB 配置文件和我的 Python 代码。

先感谢您。

PS:我已经尝试使用另一个 Python 包连接到 MariaDB,即通过 Flask SQLAlchemy,但不幸的是,数据库连接也会发生相同的行为。
出于这个原因,我认为问题不在于 Python 代码,而可能是 Docker 镜像(也许)。

my.cnf
# 7 days = 604800s / 8 hours = 28800s 
wait_timeout = 604800
interactive_timeout = 28800

Python代码:
from pymysql import connect
from pymysql.cursors import DictCursor


class MySQLConnection:

def __init__(self, host, port, user, password, schema):
try:
# Connect to the database
self.connection = connect(host=host, port=port,
user=user, password=password,
db=schema, cursorclass=DictCursor,
connect_timeout=50)

# create a cursor object
self.cursor = self.connection.cursor()
print("DB connection was successful!")
except Exception as error:
print("DB connection was failed! \nError: ", error)
exit(1)

最佳答案

关于python - 在 Python 中使用 PyMysql 连接 MariaDB 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55856801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com