Обновление MySQL 5.7 не завершится.

Вопрос или проблема

APT не может обновить mySQL за меня. Я считаю, что ошибка 1045 связана с данными для входа. Я могу выполнить mysql_upgrade -uroot -p и завершить это вручную, но как мне сказать apt, что это сделано, пожалуйста, прекрати пытаться?

Настройка mysql-server-5.7 (5.7.24-0ubuntu0.16.04.1) ...
update-alternatives: предупреждение: принудительная переустановка альтернативы /etc/mysql/mysql.cnf, поскольку группа ссылок my.cnf повреждена
update-alternatives: предупреждение: не заменяется /etc/mysql/my.cnf ссылкой
mysql_upgrade: Получена ошибка: 1045: Неизвестная ошибка 1045 при подключении к серверу MySQL
Процесс обновления столкнулся с ошибкой и не будет продолжен.
mysql_upgrade завершился с выходным статусом 11
dpkg: ошибка при обработке пакета mysql-server-5.7 (--configure):
 скрипт постустановочной конфигурации возвратил ошибку с кодом выхода 1
dpkg: проблемы с зависимостями предотвращают конфигурацию mysql-server:
 mysql-server зависит от mysql-server-5.7; однако:
  Пакет mysql-server-5.7 еще не настроен.

dpkg: ошибка при обработке пакета mysql-server (--configure):
 проблемы с зависимостями - оставлено без конфигурации
Произошли ошибки при обработке:
 mysql-server-5.7
 mysql-server
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)

Мне пришлось воссоздать пользователя debian-sys-maint с паролем из /etc/mysql/debian.cnf

GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'PASSWORD';

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

sudo systemctl enable mysql.service

sudo apt update

sudo apt upgrade -y

Если вы хотите отключить службу mysql при запуске, вы можете отключить ее следующим образом,

sudo systemctl disable mysql.service

Удаление iblogfile0 и iblogfile1 помогло мне, когда MySQL не запускался после обновления.

Ответ или решение

Причины и решения проблемы с завершением обновления MySQL 5.7

Если вы столкнулись с проблемой завершения обновления MySQL 5.7 через APT, это может быть связано с ошибками конфигурации, проблемами с доступом или зависимостями пакетов. Ниже представлены основные причины возникновения данной проблемы и возможные способы их решения.

Основные ошибки, связанные с обновлением MySQL

  1. Ошибка 1045: Эта ошибка возникает, если вы не можете подключиться к MySQL-серверу, используя предоставленные учетные данные. В вашем случае, рекомендуется проверить, правильно ли вы указали пароль для пользователя root. Используя mysql_upgrade -uroot -p, вы можете вручную завершить процесс обновления, но вам будет необходимо сообщить APT, что обновление завершено.

  2. Проблемы с пользователем debian-sys-maint: Для успешного завершения обновления вам необходимо убедиться, что пользователь debian-sys-maint существует и имеет корректные привилегии. Вы можете восстановить его, воспользовавшись следующей командой:

    GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'PASSWORD';

    Убедитесь, что вы используете пароль, указанный в файле /etc/mysql/debian.cnf.

  3. Проблемы с системными службами: Если служба MySQL отключена при старте системы, это может привести к сбою обновления. В этом случае выполните следующие команды для включения службы:

    sudo systemctl enable mysql.service
    sudo systemctl start mysql.service

    После этого снова попробуйте обновить MySQL:

    sudo apt update
    sudo apt upgrade -y
  4. Ошибки при обработке пакетов: Сообщения, подобные subprocess installed post-installation script returned error exit status 1, указывают на зависимость пакетов. В этом случае вам может понадобиться удалить проблемный пакет и установить его заново:

    sudo apt remove mysql-server-5.7
    sudo apt install mysql-server-5.7
  5. Удаление файлов журнала: Если MySQL не запускается после обновления, попробуйте удалить или переименовать файлы ib_logfile0 и ib_logfile1, находящиеся в директории данных MySQL. Это может помочь решить проблему с запуском:

    sudo rm /var/lib/mysql/ib_logfile*
    sudo systemctl start mysql.service

Завершение обновления и предотвращение повторной попытки установки

Чтобы сообщить APT, что обновление завершено, и он не должен повторять попытку, выполните следующую команду:

sudo dpkg --configure -a

Это восстановит состояние пакетов и закончит процесс настройки.

Заключительные рекомендации

Если после всех вышеуказанных шагов проблема все еще сохраняется, рекомендуется:

  • Проверить логи MySQL на наличие дополнительных ошибок, которые могут дать указание на источник проблемы. Логи обычно находятся по пути /var/log/mysql/error.log.
  • Убедиться, что все зависимости для MySQL установлены корректно, и нет конфликтующих пакетов в системе.

Следуя этим шагам, вы сможете успешно завершить обновление MySQL 5.7 и устранить все возможные проблемы, связанные с конфигурацией и зависимостями системы.

Оцените материал
Добавить комментарий

Капча загружается...