Сервер, вероятно, отбросил неверный или слишком большой пакет. Если mysqld получает слишком большой или неправильный пакет, он предполагает, что с клиентом что-то пошло не так, и закрывает соединение. Чтобы это исправить, вам нужно увеличить максимальный размер пакета max_allowed_packet
в файле my.cnf, а затем перезапустить сервер MySQL: (/etc/init.d/mysql restart).
Обновление Owncloud не выполняется с таймаутом MySQL
Я только что обновился до новой версии 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 ответа на вопрос
Сообщение об ошибке
SQLSTATE [HY000]: общая ошибка: 2006 сервер MySQL исчез
может означать несколько вещей: часто это относится к тайм-ауту, который можно исправить, увеличив значения тайм-аута (по умолчанию 8 часов), или указывает, что допустимый размер пакета был превышен, который можно исправить, увеличив max_allowed_packet
. Это также происходит, когда сервер MySQL дает сбой в середине операции, поэтому проверьте это, когда первые две опции не дают облегчения.
После еще одного исследования я сверился с журналом MySQL. Был назван пустой файл /var/log/mysql.err
, а также некоторые файлы, которые указывают на ротацию журнала.
Запуск ps -ef | grep mysql
затем дал мне полную командную строку для процесса MySQL с параметром для файла журнала, который оказался /var/lib/mysql/<hostname>.err
.
Изучение этого файла показало, что MySQL продолжал падать из-за повреждения данных, что, вероятно, повлияло на oc_filecache
таблицу. Это объясняет, почему обновление не удалось - как восстановить после повреждения будет отдельный вопрос . Строка, отображаемая окком над индикатором выполнения, кажется, является таблицей, которая обрабатывалась при возникновении ошибки (если это неясно из журналов MySQL, где нужно искать близко, чтобы найти таблицу).
Похожие вопросы
-
3
OpenX: mySql VS PostgreSQL
-
4
Каков наилучший способ преобразования базы данных MySQL в базу данных доступа?
-
6
Как остановить запуск служб при загрузке в Ubuntu?
-
-
2
Как мне восстановить мою базу данных?
-
6
MySQL установлен по умолчанию с OS X Leopard 10.5 или 10.6
-
4
Почему PHP выдает «Ошибка сегментации (11)» после «mysql_connect» или «mysql_close»?
-
3
Проблема с подключением к MySQL на другом компьютере в локальной сети
-
3
Помогите настроить MySQL (для использования с PHP и Apache) в OS X
-
10
MySQL не запускается!
-
1
Веб-сервер Mac, безопасность MySQL