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

Случайное «Потеряно соединение с сервером MySQL при« чтении начального пакета связи », системная ошибка: 0»

Иногда я получаю сообщение об ошибке с сервера MYSQL:

Lost connection to MySQL server at 'reading initial communication packet', system error: 0 

Я не могу найти причину, так как большую часть времени она работает, но каждую неделю в течение нескольких часов я получаю эту ошибку. Я погуглил, но, похоже, есть только пользователи, у которых эта ошибка постоянно. Но в этом случае это случается лишь иногда. Я проверил hosts.allow и hosts.deny, но хост разрешен, а не запрещен.

Также иногда появляется ошибка:

File './database/table.MYD' not found (Errcode: 24) 

Встречается очень редко. Но это происходит на несколько часов один раз в неделю, иногда в несколько дней, но внезапно проблема снова исчезает. Я проверил лимит открытых файлов. Сейчас 2048 год, и этого должно хватить. Я все же попробовал увеличить количество открытых файлов, но безрезультатно. Я подумал, возможно, процесс не закрывает какие-то таблицы. Но это невозможно, потому что через некоторое время все ок. снова, и процесс открывает одновременно максимум 100 таблиц. Я также проверил среду выполнения MySQL, и там было 930 открытых файлов. Я не могу этого объяснить. Через некоторое время - 129.

Я запускаю MySQL-сервер на машине SUSE-Linux. Я подключаюсь к MySQL-серверу с другого хоста с помощью инструмента командной строки «mysql» и MySQL-C-connector. MySQL-сервер - это версия 5.0.67.

Теперь проблема решена.

Оказалось, что проблема была в нашей программе резервного копирования mysqlhotcopy.

Причина в том, что mysqlhotcopy блокирует, как я вижу, в одном операторе все таблицы всех баз данных при вызове без параметра базы данных, соответственно, все таблицы одной базы данных при вызове с параметром базы данных. Поскольку наши базы данных могут содержать несколько тысяч таблиц, это оказалось невозможным с нашей текущей конфигурацией системы.

Итак, я написал новый сценарий mysqlhotcopy, и проблема исчезла до сих пор.