MySQL - это один из самых популярных движков баз данных, которые используются для обеспечения работы веб-сайтов и различных веб-приложений. База данных MariaDB используется на множестве веб-серверов и домашних компьютеров. Если вы хотите сменить базу данных на другую, или, например, установить MariaDB вместо MySQL, то сначала необходимо удалить старую версию.
В этой статье мы рассмотрим, как удалить MySQL в Ubuntu. Я предполагаю, что программа установлена из официальных репозиториев или PPA, поэтому удалять мы её будем таким же образом.
Содержание статьи
Удаление MySQL в Ubuntu
В Ubuntu MySQL имеет такое же имя пакетов, сюда относятся mysql-server и mysql-client. Если вы хотите удалить MariaDB, то здесь пакеты будут называться по другому: mariadb-server mariadb-client.
1. Версия MySQL
Давайте сначала посмотрим, какая версия MySQL у вас установлена. Для этого выполните:
mysql --version
Затем вы можете посмотреть установленные пакеты с помощью пакетного менеджера:
sudo apt search mysql-server
2. Удаление MySQL
Остановите сервис базы данных:
sudo systemctl stop mysqld
Чтобы удалить MySQL с сохранением настроек и файлов конфигурации, нужно использовать опцию remove:
sudo apt remove mysql-server mysql-common mysql-server-core-* mysql-client-core-*
Однако, если вы хотите удалить базу данных полностью, вместе со всеми её конфигурационными файлами, нужно использовать purge:
sudo apt purge mysql-server mysql-common mysql-server-core-* mysql-client-core-*
Также нужно зайти в каталог /var/lib/mysql и удалить оттуда файлы базы данных, если они вам больше не нужны:
sudo rm -Rf /var/lib/mysql/
И удалите папку конфигурационных файлов, если она осталась:
sudo rm -Rf /etc/mysql/
Не забудьте про логи:
sudo rm -rf /var/log/mysql
Удалите пользователя и группу, созданные для MySQL:
sudo deluser --remove-home mysql
sudo delgroup mysql
3. Удаление PPA
Если вы устанавливали новую версию базы данных из PPA, и этот репозиторий вам больше не нужен, его тоже желательно удалить. На данный момент официальный репозиторий MySQL устанавливается в стиле CentOS с помощью deb-пакета, который можно скачать на официальном сайте. Вам достаточно его удалить:
sudo apt purge mysql-apt-config
Если ваш репозиторий добавлялся по другому, вы можете найти его и удалить в папке /etc/apt/sources.list.d/. Файлы репозиториев MySQL будут содержать в своём имени слова mysql или mariadb. В моём случае таких файлов нет:
Выводы
В этой небольшой статье мы разобрались, как удалить MySQL Ubuntu с помощью пакетного менеджера. Как видите, просто удалить пакет недостаточно, нужно удалить ещё несколько файлов, если вы хотите полностью очистить свою систему от ненужных файлов.
что делать в такой ситуации:
~$ sudo apt purge mysql-server mysql-common mysql-server-core-* mysql-client-core-*
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'mysql-server-core-5.0' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.1' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.5' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.6' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.7' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-8.0' for glob 'mysql-server-core-*'
Package 'mysql-server-core-5.7' is not installed, so not removed
Package 'mysql-server-core-5.5' is not installed, so not removed
Package 'mysql-server-core-5.6' is not installed, so not removed
Package 'mysql-server-core-5.0' is not installed, so not removed
Package 'mysql-server-core-5.1' is not installed, so not removed
Note, selecting 'mysql-client-core-5.0' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.1' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.5' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.6' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.7' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-8.0' for glob 'mysql-client-core-*'
Package 'mysql-client-core-5.7' is not installed, so not removed
Package 'mysql-client-core-5.5' is not installed, so not removed
Package 'mysql-client-core-5.6' is not installed, so not removed
Package 'mysql-client-core-5.0' is not installed, so not removed
Package 'mysql-client-core-5.1' is not installed, so not removed
Package 'mysql-client-core-8.0' is not installed, so not removed
Package 'mysql-server-core-8.0' is not installed, so not removed
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:
default-mysql-client : Depends: mysql-client-8.0 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
что делать в такой ситуации?
~$ sudo apt purge mysql-server mysql-common mysql-server-core-* mysql-client-core-*
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'mysql-server-core-5.0' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.1' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.5' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.6' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-5.7' for glob 'mysql-server-core-*'
Note, selecting 'mysql-server-core-8.0' for glob 'mysql-server-core-*'
Package 'mysql-server-core-5.7' is not installed, so not removed
Package 'mysql-server-core-5.5' is not installed, so not removed
Package 'mysql-server-core-5.6' is not installed, so not removed
Package 'mysql-server-core-5.0' is not installed, so not removed
Package 'mysql-server-core-5.1' is not installed, so not removed
Note, selecting 'mysql-client-core-5.0' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.1' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.5' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.6' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-5.7' for glob 'mysql-client-core-*'
Note, selecting 'mysql-client-core-8.0' for glob 'mysql-client-core-*'
Package 'mysql-client-core-5.7' is not installed, so not removed
Package 'mysql-client-core-5.5' is not installed, so not removed
Package 'mysql-client-core-5.6' is not installed, so not removed
Package 'mysql-client-core-5.0' is not installed, so not removed
Package 'mysql-client-core-5.1' is not installed, so not removed
Package 'mysql-client-core-8.0' is not installed, so not removed
Package 'mysql-server-core-8.0' is not installed, so not removed
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:
default-mysql-client : Depends: mysql-client-8.0 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
p.s. у вас отсутствует подтверждение получения сообщения или вы его не принимаете?
Спасибо. Единственное, что мне помогло, когда я забыл root пароль и ничего не помогало его поменять. Респект!