Оглавление:
Статья последний раз была обновлена 04.03.2023
Ошибка MySQL Server Has Gone Away (error 2006) может возникнуть в двух случаях.
Таймаут соединения
Наиболее распространенная проблема: таймаут соединения, в результате чего сервер его закрывает. Решение весьма тривиальное — увеличение лимита времени wait_timeout в файле конфигурации my.cnf. Для этого в Debian нужно выполнить:
sudo nano
/etc/mysql/my.cnf
# Открытие файла настроек MySQL
Затем установить тайм-аут ожидания:
wait_timeout = 600
# Время ожидания в секундах, можно установить вплоть до 28800 с (8 часов)
Не забудьте перезагрузить базу:
sudo /etc/init.d/mysql restart
# Перезагрузка базы данных MySQL
Иногда, при выполнении длительных запланированных задач, также может появиться ошибка MySQL Server Has Gone Away все из-за того же таймаута соединения. При этом лимит времени не получится существенно увеличить (максимум до нескольких часов), так как это может привести к заполнению буфера ожидающими соединениями.
Поэтому лучше проверить соединение и, при необходимости, переподключиться.
$link = mysql_connect("localhost","root","root");
# Здесь будут cron jobs
if( !mysql_ping($link) ) $link = mysql_connect("localhost","root","root", true);
# Подключение БД и переподключение при необходимости
Большой или некорректный пакет
Вторая распространенная проблема: сервер получает большой или некорректный пакет и отклоняет его. В этом случае сервер считает, что проблема на стороне клиента и закрывает соединение. Так что для решения нужно увеличить лимит на максимальный размер пакета все в том же файле конфигурации:
[mysqld]
...
max_allowed_packet = 64M
…
# Увеличение лимита размера входящего пакета, в МБ
Также не забудьте перезагрузить базу данных.
Самое главное
После того, как устраните ошибку MySQL Server Has Gone Away, поиграйтесь с параметрами wait_timeout и max_allowed_packet для получения оптимальных лимитов.
ID: 453
-
Mysql 1045 access denied for user
Как исправить ошибку доступа к базе 1045 Access denied for user
-
Lock wait timeout exceeded в Mysql
Что значит и как это починить
-
Mysql error ib_logfile0 is of different size
Как изменить размер бинлогов в Mysql и правильно перезапустить сервер.
-
Ошибка 1054: Unknown column ‘password_last_changed’ in ‘mysql.user’
Обновление до новой версии Mysql
-
Ошибка 502 bad gateway в Nginx
Причины возникновения ошибки Ошибка 502 bad gateway в Nginx и методы исправления
-
Ошибка 504 Gateway Timeout в Nginx
Причины и методы исправления ошибки Gateway Timeout, Nginx
-
Ошибка upstream timed out в Nginx
Как пофиксить ошибку «110: connection timed out» while reading response header from upstream
-
Ошибка Nginx FastCGI sent in stderr «Primary script unknown»
Как исправить ошибку Primary script unknown в Nginx
-
Ошибка Nginx 405 Not Allowed
Как исправить ошибку 405 Not Allowed в Nginx
-
Ошибка 500 Internal Server Error
Чем вызвана ошибка 500 и как ее исправить в Nginx
-
Ошибка 400 Bad Request в Nginx
Ошибка 400 Bad Request возникает, когда клиент отправляет на Nginx неверный запрос. Это случается когда размер заголовков запроса больше допустимого предела.
-
Ошибка 413 Request Entity Too Large
Ошибка HTTP 413 (Request Entity Too Large Error) означает, что клиент отправил слишком большой запрос на сервер.
-
Ошибка Nginx Upstream sent too big header
Как решить ошибку upstream sent too big header while reading response header from upstream в Nginx
-
Ошибка в PHP: exec(): Unable to fork
Чем вызвана ошибка PHP: exec(): Unable to fork и как ее исправить
-
Mysql 1062 Duplicate entry for key PRIMARY при репликации
Что делать, если во время репликации встречается: Error ‘Duplicate entry ‘115846’ for key ‘PRIMARY» on query. Default database: ‘db’. Query: ‘INSERT INTO some_table …
-
Как создать индекс в MySQL таблице без блокировок?
Создание индексов на рабочих MySQL таблицах без головной боли
-
Как правильно поставить индексы в MySQL?
Простой способ выбрать индексы для Mysql
-
Как включить slow log в MySQL?
Включение и работа с логом медленных запросов в Mysql
-
Как удалить индекс MySQL?
DROP INDEX в Mysql
-
Как использовать SHOW PROFILE в MySQL?
Просмотр профиля запросов в Mysql
-
Как оптимизировать MySQL для WordPress?
5 параметров, которые стоит оптимизировать в Mysql для wordpress
-
Как настроить MySQL Master-Slave репликацию?
Настройка Master-Slave репликации на MySQL за 6 простых шагов
-
Как настроить MySQL Master-Master репликацию?
Настройка Master-Master репликации на MySQL за 6 шагов
-
Выбор самых больших таблиц из MySQL
Запросы для выборки самых больших таблиц
.io команда,
группы в
фейсбуке и
телеграме,
sitemap и
rss.
Сгенерировано всего за 0.007 сек.
Загружено всего за X сек.
https://ruhighload.com/mysql+server+has+gone+away+-+%D0%BA%D0%B0%D0%BA+%D0%BF%D0%BE%D1%84%D0%B8%D0%BA%D1%81%D0%B8%D1%82%D1%8C
- Как узнать IP-адрес по MAC-адресу - 07.04.2023
- Пинг проходит, а страницы в браузере не открываются - 07.04.2023
- Что если сайт пингуется «извне», но не открывается из под «локалки»? - 07.04.2023