Вопрос Ubuntu 16.04, apt-get upgrade приводит к замораживанию без ошибок на сервере MySQL 5.7


Я пытаюсь обновить свою систему, используя

sudo apt-get upgrade

Процесс замерзает без ошибок: «Эта установка MySQL уже обновлена ​​до 5.7.17, используйте -force, если вам все равно нужно запустить mysql_upgrade»

Я попытался использовать https://github.com/mysql/mysql-sys и загрузка sys_57.sql, но это не помогло.

Нет никаких вариантов, это просто замораживание. Единственный способ - остановить процесс. В этом случае он говорит: «Subprocess установлен после установки сценарий был прерван» Как я могу продолжить обновление?


1
2018-04-20 20:28


происхождения




ответы:


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

  1. Запустите команду apt-get install (или что-то подобное).
  2. Подождите, пока он достигнет застрявшего состояния: Эта установка MySQL уже обновлена ​​до 5.7.21, используйте -force, если вам все еще нужно запустить mysql_upgrade (или похожие).
  3. Сделайте «ps axu» на другом терминале.
  4. Вы (должны?) Видеть процесс вроде как mysqld --user = mysql --init-file = / var / lib / mysql-files / tmp.14GvWpndwp --socket = / tmp / tmp.XwilP9D8VF / mysqld.sock --pid-file = / tmp / tmp.8V9FXDwilP /mysqld.pid  Обратите внимание на все временные каталоги, которые он использует, это, как представляется, команда обновления, которая не выходит.
  5. Убить этот процесс

Это должно позволить продолжить процесс apt-get. Я заметил, что сценарий обновления отправляет команду «stop» (процесс), которая не подчиняется процессу MySQL, поэтому, вероятно, терпеливо ждет остановки MySQL. Это наблюдение привело меня к этому пути.


3
2018-03-19 17:55



Когда обновление не удалось, я автоматически заявил о поиске решений, но этот ответ имеет смысл на основе сообщений об ошибках. - Dave F
Для тех, кто запускает mysql в контейнере докеров, вы можете убить процессы mysqld в терминале на хосте. Попытка прикрепить к контейнеру дополнительные времена будет отображать экран обновления каждый раз. - Dave F