Почему сервер MySQL прерывает соединение с базой данных?

После миграции сервера MySQL на новый хостинг возникает проблема с закрытием соединений в Nest.js и TypeORM. Сообщение об ошибке выглядит следующим образом: <br/><pre><code>...
QueryFailedError: read ETIMEDOUT
...
driverError: Error: read ETIMEDOUT
      at TCP.onStreamRead (node:internal/stream_base_commons:217:20) {
    errno: -110,
    code: 'ETIMEDOUT',
    syscall: 'read',
    fatal: true
  },
  errno: -110,
  code: 'ETIMEDOUT'</code></pre> <br/>При подключении к консольному клиенту MySQL ситуация следующая: <br/>
  • 7 апреля 2024 г. 0:09
Ответы на вопрос 2
Причина прерывания соединения с базой данных MySQL может быть разной, но в данном случае ошибка "read ETIMEDOUT" указывает на то, что соединение было установлено, но сервер не получил ответа в течение определенного времени (timeout).

Это может произойти из-за различных причин, таких как сетевые проблемы, недоступность сервера MySQL, проблемы с настройками сервера MySQL или недостаточные ресурсы на сервере хостинга.

Для решения проблемы рекомендуется выполнить следующие действия:

1. Проверить настройки подключения к базе данных в файле конфигурации Nest.js и TypeORM, убедившись в правильности хоста, порта, имени пользователя и пароля.
2. Проверить доступность сервера MySQL через консольный клиент или другие средства.
3. Увеличить таймаут соединения на стороне приложения (если возможно).
4. Проверить наличие достаточных ресурсов на сервере хостинга, чтобы избежать возможных проблем с производительностью.
5. Обратиться к технической поддержке хостинга для более подробного анализа и решения проблемы.

После выполнения этих действий, возможно удастся решить проблему прерывания соединения с базой данных MySQL.
Проверь wait_timeout
Похожие вопросы