我有两个 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()