MySQL 服务器已消失:两个 API,单个数据库,一个 API 抛出错误,而其他 API 则不会

MySQL 服务器已消失:两个 API,单个数据库,一个 API 抛出错误,而其他 API 则不会

我有两个 flask restful API。两个都运行良好。API1 仅用于读取数据库,API2 处理更新/插入。两个都访问同一个数据库。

问题:
API1 每天早上都会停止工作,我每次都必须重新启动它(早上一次)。错误是 - MySQL 服务器消失了。API2
始终正常工作,不会出现任何错误。

之前,我认为 wait_timeout(默认 8 小时)可能是 API1 抛出该错误的原因。但是,为什么 API2 可以工作呢?(我使用一个类进行数据库操作,并且在其 init 方法中有一个连接字符串。另外,我没有关闭任何数据库连接。我很快就会进行编辑以纠正它,只是在这里提供信息以了解该错误的确切原因)

问题 - 为什么只有 API1 会出现该错误,而 API2 却从来不会出现?

附言- 我在 stackoverflow 上问了这个问题,但被建议在这里发布,因为我从来没有找到一个答案重新发布在这里

MySQL 配置文件:

[mysqld]

user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
bind-address    = 127.0.0.1

key_buffer_size     = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size   = 8

myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10

query_cache_limit   = 1M
query_cache_size    = 16M

错误日志

2020-04-02T10:30:13.606051Z 15 [Note] Aborted connection 15 to db: 'databasename' user: 'root' host: 'localhost' (Got an error reading communication packets)

数据库类是这样的:

import MySQLdb
class Db:
    parameters = ("localhost", "root", "password", "databasename")

    def __init__(self):
          conn = MySQLdb.connect(*self.parameters)
          self.cur = conn.cursor()

相关内容