Назад | Перейти на главную страницу

Сервер MySQL ушел: два API, одна база данных, один API выдает ошибку, а другой нет

У меня есть два успокаивающих API-интерфейса. Оба работают нормально. API1 предназначен только для чтения базы данных, API2 занимается обновлением / вставкой. Оба обращаются к одной и той же базе данных.

Проблема:
API1 перестает работать каждое утро, и мне приходится перезапускать его каждый раз (один раз утром). Ошибка - сервер MySQL ушел.
API2 всегда работает, ошибок не дает.

Ранее я думал, что wait_timeout (по умолчанию 8 часов) может быть причиной того, что API1 выдает эту ошибку. Но почему тогда API2 работает? (Я использую класс для операций с базой данных, и у меня есть строка подключения в его методе инициализации. Кроме того, я не закрываю какое-либо соединение с базой данных. Я очень скоро отредактирую его, чтобы исправить это, просто предоставив здесь информацию, чтобы узнать точную причина этой ошибки)

Вопрос - Почему только API1 выдает эту ошибку, а API2 - никогда?

PS - Я спросил об этом в 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()