Ubuntu 20.10 Невозможно установить или удалить MySQL

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

sudo apt purge mysql-server-8.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  mysql-server-8.0*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 555934 files and directories currently installed.)
Purging configuration files for mysql-server-8.0 (8.0.17-0ubuntu2) ...
Processing triggers for systemd (246.6-1ubuntu1.3) ...

Однако теперь он не переустанавливается.

sudo apt-get install mysql-client
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mysql-common : Conflicts: mysql-client-8.0 but 8.0.25-0ubuntu0.20.10.1 is to be installed
                Conflicts: mysql-client-core-8.0 but 8.0.25-0ubuntu0.20.10.1 is to be installed

Что-то явно не работает, но не знаю, что делать, что делать?

Вот некоторые дополнительные результаты, основанные на комментариях:

Sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu groovy InRelease
Hit:2 http://archive.ubuntu.com/ubuntu groovy-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu groovy-security InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
sudo apt clean

sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt update && sudo apt upgrade
Hit:1 http://archive.ubuntu.com/ubuntu groovy InRelease
Hit:2 http://archive.ubuntu.com/ubuntu groovy-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu groovy-security InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo dpkg --configure -a

sudo apt install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Затем я попытался установить mysql-client, который, несмотря на это, выдает ошибки не устанавливается:

sudo apt install mysql-client
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mysql-common : Conflicts: mysql-client-8.0 but 8.0.25-0ubuntu0.20.10.1 is to be installed
                Conflicts: mysql-client-core-8.0 but 

8.0.25-0ubuntu0.20.10.1 is to be installed

E: Unable to correct problems, you have held broken packages.

Дополнительные попытки:

sudo apt install mysql-client
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mysql-common : Conflicts: mysql-client-8.0 but 8.0.25-0ubuntu0.20.10.1 is to be installed
                Conflicts: mysql-client-core-8.0 but 8.0.25-0ubuntu0.20.10.1 is to be installed
E: Unable to correct problems, you have held broken packages.

sudo apt purge mysql-client-8.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'mysql-client-8.0' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt purge mysql-client-core-8.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'mysql-client-core-8.0' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Кажется, мне говорят, что MySQL не установлен, но его установка конфликтует! Как мне решить эту загадку?

1
задан 23 June 2021 в 22:13

1 ответ

Иногда это можно исправить, немного почистив apt. В терминале попробуйте сделать следующее:

sudo apt update
sudo apt clean
sudo apt autoremove

Теперь попробуйте установить клиент MySQL. Если ошибка сохраняется, то, возможно, вам нужно "исправить" установку:

sudo apt --fix-broken install
sudo apt update && sudo apt upgrade
sudo dpkg --configure -a
sudo apt install -f

Теперь вы должны иметь возможность установить клиент:

sudo apt install mysql-client

Примечание: Хотя вы удалили MySQL Server, в /var/lib/mysql все еще остаются некоторые файлы. Они намеренно оставлены после удаления. Если вам не нужна ни одна из баз данных, которые были доступны ранее, смело удаляйте этот каталог. У вас также может остаться /etc/mysql, который также можно удалить, если вам больше не нужны файлы конфигурации.


Удаление MySQL из Ubuntu (18.04 и новее)

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

  1. Откройте терминал (если он еще не открыт)
  2. Убедитесь, что процесс MySQL остановлен (даже если он не запущен):
    sudo systemctl stop mysqld
    
  3. Удалите пакеты MySQL из вашей системы:
    sudo apt purge mysql-server mysql-common mysql-server-core-* mysql-client-core-*
    
    И, для полноты картины, давайте убедимся, что в системе не установлена MariaDB:
    sudo apt purge mariadb-server 
    
  4. Проверьте наличие оставшихся пакетов:
    sudo dpkg -l | grep mysql
    
    В идеале вы получите нулевые результаты. Однако, если что-то все еще установлено, вы можете увидеть что-то вроде этого:
    ii libmysqlclient21:amd64 8.0.25-0ubuntu0.20.04.1 amd64 Клиентская библиотека базы данных MySQL
    ii php-mysql 2:7.4+75 all MySQL модуль для PHP [по умолчанию]
    ii php7.4-mysql 7.4.3-4ubuntu2.4 amd64 MySQL модуль для PHP
    
    Если вы видите значения, apt purge удалите их из системы:
    sudo apt purge php-mysql php7.4-mysql libmysqlclient21
    
    Сделайте то же самое для MariaDB:
    sudo dpkg -l | grep mariadb
    
  5. Очистите файловую систему от каталогов MySQL (которые также используются MariaDB):
    sudo rm -rf /var/lib/mysql/
    sudo rm -rf /etc/mysql/
    sudo rm -rf /var/log/mysql
    
    Дважды проверьте и почистите эти файлы:
    sudo find / -iname 'mysql*' -exec rm -rf {} \;
    
    ВАЖНО: Эта команда удалит любой файл, начинающийся с mysql из вашей системы, не спрашивая подтверждения. Используйте ее с большой осторожностью и внимательностью.
  6. Удалите учетную запись и группу пользователя MySQL:
    sudo deluser --remove-home mysql
    sudo delgroup mysql
    
    Если вы не можете удалить группу, проверьте, нет ли других учетных записей пользователей, входящих в группу MySQL:
    less /etc/passwd
    
    Если они найдены, удалите пользователей из группы, затем delgroup снова.
  7. Удалите все сторонние PPA, которые могли использоваться для установки определенных сборок MySQL
  8. Обновите списки исходников:
    sudo apt autoremove -y
    sudo apt autoclean
    
  9. Возьмите чашку кофе, потому что пришло время сделать перерыв ☕️

До тех пор, пока на вашей машине не настроена какая-либо система XAMPP, это должно полностью удалить движок базы данных с вашей машины.

3
ответ дан 28 July 2021 в 11:30

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

Похожие вопросы: