-1

Я только что обновился до новой версии Owncloud. После установки пакета .deb я запустил

sudo -u www-data php /var/www/owncloud/occ upgrade

который дал мне:

 oc_appconfig                             
  1/24 [=>--------------------------]   4%Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'SET unique_checks=1':

SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
Update failed

Онлайн-исследование показало, что это, возможно, проблема тайм-аута MySQL, поэтому я создал /etc/mysql/my.cnf со следующим содержимым:

[mysqld]
interactive_timeout=86400
wait_timeout=86400
max_allowed_packet=521M

Затем я перезапустил MySQL и повторил попытку - безрезультатно. В большинстве случаев шаг 1 не выполняется; иногда я доходил до шага 3 (всегда с одинаковым временем ожидания команды SQL).

ОС Raspbian работает на Raspberry Pi 3.

Что решит эту проблему?

2 ответа2

0

Сервер, вероятно, отбросил неверный или слишком большой пакет. Если mysqld получает слишком большой или неправильный пакет, он предполагает, что с клиентом что-то пошло не так, и закрывает соединение. Чтобы это исправить, вам нужно увеличить максимальный размер пакета max_allowed_packet в файле my.cnf, а затем перезапустить сервер MySQL: (/etc/init.d/mysql restart).

-1

Сообщение об ошибке

SQLSTATE [HY000]: общая ошибка: 2006 сервер MySQL исчез

может означать несколько вещей: часто это относится к тайм-ауту, который можно исправить, увеличив значения тайм-аута (по умолчанию это 8 часов), или указывает, что превышен допустимый размер пакета, который можно исправить, увеличив max_allowed_packet . Это также происходит, когда сервер MySQL дает сбой в середине операции, поэтому проверьте это, когда первые две опции не дают облегчения.

После еще одного исследования я сверился с журналом MySQL. Был пустой файл с именем /var/log/mysql.err , а также некоторые файлы, которые указывают на ротацию журнала.

Запуск ps -ef | Затем ps -ef | grep mysql дал мне полную командную строку для процесса MySQL с параметром для файла журнала, который оказался /var/lib/mysql/<hostname>.err .

Изучение этого файла показало, что MySQL продолжал падать из-за повреждения данных, что, вероятно, влияло на таблицу oc_filecache . Это объясняет, почему обновление не удалось - как восстановить после повреждения будет отдельный вопрос . Строка, отображаемая окком над индикатором выполнения, кажется, является таблицей, которая обрабатывалась при возникновении ошибки (если это неясно из журналов MySQL, где нужно искать близко, чтобы найти таблицу).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .