Ошибка при установке mysql-server – теперь я не могу установить ни один пакет.

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

У меня Ubuntu 20.04. Установка mysql-server завершилась неудачей. Теперь, когда я запускаю sudo apt install -f, я получаю

$ sudo apt install -f
Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение состояния информации... Готово
0 обновлено, 0 новых установлено, 0 удалено и 0 не обновлено.
2 не полностью установлены или удалены.
После этой операции будет использовано 0 Б дополнительного дискового пространства.
Настройка mysql-server-8.0 (8.0.20-0ubuntu0.20.04.1) ...
update-alternatives: ошибка: альтернативный путь /etc/mysql/mysql.cnf не существует
dpkg: ошибка обработки пакета mysql-server-8.0 (--configure):
 установленный пакет mysql-server-8.0 завершил выполнение постустановочного скрипта с кодом ошибки 2
dpkg: проблемы с зависимостями мешают настройке mysql-server:
 mysql-server зависит от mysql-server-8.0; однако:
  Пакет mysql-server-8.0 еще не настроен.

dpkg: ошибка обработки пакета mysql-server (--configure):
 проблемы с зависимостями - оставлено неконфигурированным
Не записан отчет apport, поскольку сообщение об ошибке указывает на последующую ошибку после предыдущего сбоя.
                                                                                                          В процессе обработки были обнаружены ошибки:
 mysql-server-8.0
 mysql-server
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)

sudo dpkg ––configure –a тоже не работает. Я не могу установить ни один пакет.

Вопрос отличается от проблемы установки mysql-server-8.0 на Ubuntu 20.04, потому что я абсолютно не могу установить mysql-server. Ему удалось установить его. И мой менеджер пакетов сломался при установке, так что я не могу установить или удалить ничего сейчас.

Загрузите систему в режим восстановления и запустите dpkg, который должен восстановить поврежденные пакеты.

Мне удалось решить проблему менеджера пакетов с решением здесь https://phoenixnap.com/kb/fix-sub-process-usr-bin-dpkg-returned-error-code-1.

Но я все еще не могу запустить базу данных mysql

$ sudo systemctl start mysql
Не удалось запустить mysql.service: единица mysql.service не найдена.

$ sudo service mysqld start
Не удалось запустить mysqld.service: единица mysqld.service не найдена.

$ mysql
ОШИБКА 2002 (HY000): Невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)

$ sudo mysql_secure_installation

Защита развертывания MySQL-сервера.

Введите пароль для пользователя root: 
Ошибка: Невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)
$ sudo apt install -f
Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение состояния информации... Готово
0 обновлено, 0 новых установлено, 0 удалено и 0 не обновлено.
1 не полностью установлен или удален.
После этой операции будет использовано 0 Б дополнительного дискового пространства.
Настройка mysql-server-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Не удалось остановить mysql.service: единица mysql.service не загружена.
invoke-rc.d: initscript mysql, действие "stop" завершилось неудачей.
MySQL был заморожен, чтобы предотвратить повреждение вашей системы. Пожалуйста, посмотрите /etc/mysql/FR
OZEN для получения помощи.

Я думаю, что проблема возникает из-за того, что пакет mysql-server-8.0 не может правильно настроиться из-за отсутствующего файла конфигурации. Так что сначала проверьте наличие поврежденных пакетов

sudo dpkg --audit

вы можете перенастроить пакет

sudo dpkg --configure -a

а затем исправить отсутствующий файл конфигурации.

sudo touch /etc/mysql/mysql.cnf
sudo chmod 644 /etc/mysql/mysql.cnf

! Если вышеуказанные шаги не сработают, возможно, нам потребуется удалить и очистить пакеты MySQL и переустановить их.

sudo apt-get remove --purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo apt-get autoremove
sudo apt-get autoclean

А затем вы также можете переустановить сервер mysql =>

sudo apt-get update
sudo apt-get install mysql-server

!!! Если менеджер пакетов все еще сломан, вы можете вручную очистить dpkg =>

sudo rm /var/lib/dpkg/info/mysql-server-8.0.*
sudo rm /var/lib/dpkg/info/mysql-server.*
sudo dpkg --remove --force-remove-reinstreq mysql-server-8.0
sudo dpkg --remove --force-remove-reinstreq mysql-server

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

Для решения проблемы с установкой mysql-server на Ubuntu 20.04, когда процесс установки завершился неудачей и теперь вы не можете установить ни один пакет, следуйте предложенному ниже алгоритму действий.

1. Анализ ситуации

Вы столкнулись с проблемой, связанной с тем, что mysql-server не был установлен должным образом. Основной ошибкой является отсутствие файла конфигурации /etc/mysql/mysql.cnf, что мешает успешной настройке пакета. Это приводит к тому, что система не может завершить установку и конфигурирование MySQL, а, следовательно, и установка новых пакетов становится невозможной.

2. Проверка на наличие испорченных пакетов

Начните с проверки испорченных пакетов:

sudo dpkg --audit

Это поможет вам понять, какие пакеты требуют внимания.

3. Переконфигурация пакетов

Попробуйте переконфигурировать неудачно установленные пакеты:

sudo dpkg --configure -a

Если это не сработает, выполните следующие действия для создания недостающего файла конфигурации.

4. Создание файла конфигурации

Создайте файл конфигурации, чтобы устранить проблему, вызванную его отсутствием:

sudo touch /etc/mysql/mysql.cnf
sudo chmod 644 /etc/mysql/mysql.cnf

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

sudo dpkg --configure -a

5. Удаление и переустановка MySQL

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

sudo apt-get remove --purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo apt-get autoremove
sudo apt-get autoclean

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

sudo apt-get update
sudo apt-get install mysql-server

6. Устранение ошибок в пакетном менеджере

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

sudo rm /var/lib/dpkg/info/mysql-server-8.0.*
sudo rm /var/lib/dpkg/info/mysql-server.*
sudo dpkg --remove --force-remove-reinstreq mysql-server-8.0
sudo dpkg --remove --force-remove-reinstreq mysql-server

Эти команды удалят оставшиеся следы от некорректных установок MySQL.

7. Запуск MySQL

После успешной установки вы можете запустить сервер MySQL:

sudo systemctl start mysql

Или проверьте его статус:

sudo systemctl status mysql

8. Заключение

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

journalctl -xe

Этот вывод может указать на более глубокие проблемы с конфигурацией системы или службами.

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

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

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