我知道这个问题已经问过好几次了,但我还没有发现一个与我所处理的问题有关的问题。我有一个MySQL数据库托管在上。我正在运行Google中的python脚本,以连接到数据库来运行查询。过去一切正常运行,但现在我在与服务器的初始连接上出现了以下错误。
File "/usr/local/lib/python3.5/dist-packages/pymysql/__init__.py", line 94, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 327, in __init__
self.connect()
File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 597, in connect
self._get_server_information()
File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 966, in _get_server_information
packet = self._read_packet()
File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 656, in _read_packet
packet_header = self._read_bytes(4)
File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 702, in _read_bytes
CR.CR_SERVER_LOST, "Lost connection to MySQL server during query")
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')下面是我用来连接到服务器的代码
connection = pymysql.connect(host='127.0.0.1',
user='xxxxxx',
password='xxxxxx',
database='foobar',
cursorclass=pymysql.cursors.DictCursor,
max_allowed_packet=16777216,
connect_timeout=100)最初,我的连接代码没有max_allowed_packet和connect_timeout,而且运行良好。在对我的问题进行了一些研究之后,这些似乎解决了其他人的问题,但并没有解决我的问题。
发布于 2021-06-23 18:01:05
您必须添加wait_timeout并从10000开始,然后查看。
另一个不会有帮助,但我补充说,您有另一个超时,它不会被连接和等待超时所捕获。
)
看起来
在连接后立即使用mysql命令
SET session wait_timeout=300;https://stackoverflow.com/questions/68104890
复制相似问题