dpkg: ошибка обработки пакета mysql-server

Когда я пытаюсь установить, возникает ошибка:

dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Что это значит. Есть идеи?

17 ответов

dpkg возвращение кода ошибки 1 не означает ничего конкретного, но обычно оно связано с проблемами зависимости. В вашем случае вы пытались установить две версии / экземпляры одного и того же пакета, т.е. mysql-server а также mysql-server-5.7, Поэтому сделайте следующее, чтобы удалить все лишние проблемы с зависимостями и установить работающий пакет mysql.

sudo apt-get clean sudo apt-get purge mysql* sudo apt-get update sudo apt-get install -f sudo apt-get install mysql-server-5.7 sudo apt-get dist-upgrade

это должно решить проблему под рукой. Но в будущем будьте внимательны с именами пакетов, которые вы добавите после sudo apt-get install поскольку неправильный список имен пакетов - например, избыточные записи в списке - приводит к невозможности установки любого из пакетов или еще хуже - вы можете даже оказаться в адской глубине #DEPENDENCY-HELL

Все ответы, которые мне удалось найти на этот вопрос, были в форме "очистите вашу установку Mysql и переустановите ее". Но в моем случае у меня уже есть рабочая / активная установка Mysql. Для меня причина, почемуdpkg --configure -aсбой, потому что Mysql уже установлен. Почему dpkg считает, что для моего уже установленного и обновленного Mysql необходимо запускать сценарий postinstall, я, возможно, никогда не узнаю, но это так.

После долгого поиска ответов я нашел решение, которое должно работать, если есть другие, у которых уже есть работающий Mysql 5.7, и они просто хотят пройти через этот фиктивный сценарий постустановки. Вы можете редактировать сценарий postinstall напрямую как (в Ubuntu):

sudo vi /var/lib/dpkg/info/mysql-server-5.7.postinst

А затем во второй строке просто добавьте exit 0 а затем запустить dpkg снова, и вы должны получить что-то вроде:

$ sudo dpkg --configure -a         
Setting up mysql-server-5.7 (5.7.28-0ubuntu0.18.04.4) ...

Вы определенно не захотите следовать этим инструкциям, если ваша установка Mysql ранее не была завершена (есть причина, по которой сценарий postinstall настаивает на запуске). Но для тех, у кого dpkg может оказаться в нестабильном состоянии, как у меня, описанное выше может сэкономить много времени на очистку и переустановку уже работающей версии Mysql.

Это должно помочь

sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get dist-upgrade

А теперь переустанови mysql

sudo apt-get install mysql-server

Если вы используете VPS или подобное, ваша ошибка может быть связана с нехваткой оперативной памяти.

Запуск apt-upgrade, похоже, требует некоторого объема оперативной памяти, поэтому он может принудительно закрыть mysql, поэтому возникает проблема восстановления после ошибки.

Пытаться:

1) Остановите mysql вручную перед любым обновлением apt

sudo /etc/init.d/mysql stop

2) Исправить:

sudo dpkg --configure mysql-server-X.X

(если версия не известна, используйте только mysql-сервер, чтобы узнать (не исправит ошибку)

3) Проверьте:

sudo apt-get upgrade

Запустите mysql вручную, если он не был запущен apt.

Я столкнулся с той же ошибкой из-за проблемы в моем обновлении с ubuntu 18.04 до ubuntu 20.04, то, что я сделал, это получил mariadb вместо этого также убедитесь, что когда вы делаете pruge mysql, если вас попросят удалить dbs в каталоге, скажите ему не удалять dbs, поэтому у вас будут старые базы данных без потери данных

то, что я сделал, было это cmds

sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get dist-upgrade
sudo apt-get install mariadb-server

У меня была похожая проблема. Вот так я исправил свой.

  1. Перезапустите службу MySQL sudo service mysql restart
  2. Тогда исправь сломанные установки sudo apt install -f

Мой ответ от Askubuntu.

Ни один из apt методы работали для меня, попробуйте это:

Найти процесс блокировки

$ ps -eaf
root      7316     1  0 00:19 ?        00:00:00 /usr/bin/dpkg --status-fd 35 --configure --pending
root      7808  7316  0 00:19 ?        00:00:00 /usr/bin/perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/mysql-se
root      7817  7808  0 00:19 ?        00:00:00 /bin/bash /var/lib/dpkg/info/mysql-server-5.7.postinst configure
mysql     7973  7817  0 00:20 ?        00:00:00 mysqld --user=mysql --init-file=/var/lib/mysql-files/tmp.iNyY06ty0K --so

Убей это

делать sudo kill -9 7973в основном mysql один.

Сейчас чистка

sudo apt-get purge mysql-server-5.7 # Or whatever you are trying to purge.

Я пробовал почти все возможные способы, но у меня ничего не получалось. Затем я обнаружил, что проблема, с которой я столкнулся, была связана с менее доступным плунжером. Вы можете проверить свой текущий статус баранаfree -h(в моем случае доступно было менее 1 ГБ). Чтобы очистить оперативную память, перезагрузите устройство. Затем введите следующие команды

sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get dist-upgrade

затем снова установите mysql-server с помощью

sudo apt-get install mysql-server

В моем случае мне пришлось запустить:

      systemctl stop mysql.service

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

      sudo apt-get install mysql-server

попробуйте это решение, используя aptitude , это заменит все поврежденные файлы.

Это работа над моим 18.04

кр. https://www.digitalocean.com/community/questions/mysql-installation-error-dpkg-error-processing-package-mysql-server-5-5-configure?answer=61604

Я наткнулся на unix-бинарник yes, который невероятно глуп: он просто бесконечно печатает y (попробуйте, вы можете просто запустить yes в своем терминале)

поэтому работает следующее (я использовал это в файле докеров)

      yes | apt-get install mysql-community-server

У меня был еще один процесс mysql, работающий в фоновом режиме.(проверьте, включен ли ваш сервер lampp mysql, затем выключите его.) затем попробуйте sudo apt dist-upgrade

если lampmp mysql не работает, проверьте эту команду, ps -eaf , а затем найдите процесс mysql и уничтожьте его по номеру порта sudo kill -9

Проблема может быть намного проще (в моем случае) у меня было неверно сконфигурированное значение в моем файле конфигурации [my.cnf], которое привело к ошибке. После очистки my.cnf mysql-сервер был успешно перезапущен

Если вы работаете над Debian 10, вам необходимо сначала установить GNUPG:

sudo apt-get install gnupg

Вот и все; теперь ты можешь попробоватьdpkg еще раз.

Чтобы решить проблему зависимости, попробуйте:

sudo apt-get purge
sudo apt-get clean
sudo apt-get check

И переустановите пакет снова: sudo apt-get install mysql-server,

Источник: Тема: Dpkg: Проблемы с зависимостями - оставлены ненастроенными.

Другие команды, чтобы попробовать:

sudo apt-get install -f
sudo apt-get autoremove
sudo dpkg --configure -a 

Связанный: Как я могу Разрешить зависимость dpkg? at Ask Ubuntu.

Также обратите внимание на терминал, который вы используете, если это ZSH, многие команды удаления не будут работать, например: и процесс переустановки завершится ошибкой, чтобы исправить это, просто введите в своем терминале слово bash, чтобы используемый терминал был Bash, запустить еще раз, а также следующие команды ниже, чтобы подтвердить, что вы удалили все.

      sudo apt-get remove mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql

Наконец, запустите чтобы убедиться, что на вашем компьютере нет версии, и вы можете попробовать установить снова.

Я был в такой же ситуации. После полного удаления MySQL я переустановил его, убил PID, используя порт 3306, и снова переустановил MySQL. Теперь работает.

снимок экрана

Другие вопросы по тегам