Когда потребность в наличии MySQL на стороне Ubuntu-сервера отпадает, часто пользователи используют команду apt remove. Но знали ли вы, что эта команда удаляет программные файлы, но может оставить конфигурацию?
Чтобы этого избежать, удалить пакеты одним махом вместе с системными конфигами, стоит использовать команду apt purge. Каталог с данными MySQL нужно очищать отдельно. Перед удалением /var/lib/mysql обязательно проверьте базу данных – вдруг там есть важная информация. Лучше всего даже сделать резервную копию.
remove vs purge — в чём разница
Первое, что нужно понять и запомнить – удаление пакета не равно удаление самой БД. В системе Ubuntu пакет mysql-сервер относится к метапакетам. Он в свою очередь зависит от версии текущего сервера. Для справки – в Ubuntu 22.04 и 24.04 LTS в репозиториях присутствует mysql-server-8.0.
Так apt предполагает два основных варианта удаления пакетов:
Команда | Что происходит |
sudo apt remove mysql-server | Пакет и программные файлы будут удалены, но конфигурационные файлы, относящиеся к пакету, зачастую остаются |
sudo apt purge mysql-server | Пакет будет удален с сервера вместе с системными конфигурационными файлами |
Ошибка считать, что purge удаляет буквально всё. Это не так. Команда не стирает абсолютно всё, что связано с MySQL. Например, остаются данные /var/lib/mysql и некоторые каталоги, созданные после установки или измененные пользователем.
Пошаговая инструкция по удалению MySQL Server
Чтобы удалить MySQL-сервер из операционной системы Ubuntu нужно выполнить несколько простых действий.
Проверяем, что именно установлено в ОС
Перед удалением полезно посмотреть пакеты MySQL:
dpkg -l | grep -E 'mysql|mariadb'Когда сервер устанавливают стандартными пакетами Ubuntu, результатом команды чаще всего является mysql-server, mysql-server-8.0 и mysql-server-core-8.0. Эти пакеты входят в состав Ubuntu 22.04/24.04.
Остановка MySQL
В первую очередь останавливаем службу:
sudo systemctl stop mysqlПроверяем её состояние командой:
sudo systemctl status mysqlЕсли служба уже остановлена, это нормально.
Удаляем серверные пакеты через apt purge
Для стандартной установки MySQL 8
sudo apt purge mysql-server mysql-server-8.0 mysql-server-core-8.0Если какого-либо пакета нет в системе, apt сообщит об этом. Это не означает, что остальные пакеты не будут удалены.
Не стоит без проверки использовать на рабочем сервер команду:
sudo apt purge 'mysql-*'Часто она затрагивает клиентские библиотеки, инструменты и другие пакеты MySQL, которые могут требоваться установленным приложениям. Если требуется удалить вообще все компоненты MySQL, сначала посмотрите полный список через dpkg -l, а затем удаляйте ненужные пакеты выборочно.
Очищаем ненужные зависимости
После удаления сервера выполняем:
sudo apt autoremove --purgeПрежде чем подтвердить операцию, детально ознакомьтесь с тем, что входит в список пакетов. Для вас не должно стать сюрпризом то, что собирается удалить apt. Если среди них есть ПО, необходимое другому приложению на сервере, просто отменяем операцию.
Удаление остаточных конфигов и данных
После apt purge проверяем каталог MySQL:
sudo ls -la /etc/mysqlА также каталог данных:
sudo ls -la /var/lib/mysqlЗдесь важно учитывать, что /etc/mysql содержит конфигурацию MySQL; пакет mysql-common, например, включает общий конфигурационный файл /etc/mysql/my.cnf. Если цель — полностью удалить MySQL вместе с его конфигурацией, после проверки удаляем оставшийся каталог:
sudo rm -rf /etc/mysqlНо с каталогом данных ситуация принципиально другая. /var/lib/mysql — самая важная проверка Именно здесь находятся базы данных и служебные файлы MySQL. Команду следующего типа нельзя выполнять автоматически:
sudo rm -rf /var/lib/mysqlДелаем резервную копию, если на сервере находились рабочие базы. Например, можно сохранить каталог на отдельный диск или использовать дамп базы данных. После того как вы убедились, что данные больше не нужны:
sudo rm -rf /var/lib/mysqlТакже может существовать каталог:
sudo ls -la /var/log/mysqlЕсли он остался и MySQL больше не используется:
sudo rm -rf /var/log/mysqlНе рекомендуем удалять системного пользователя mysql только ради того, чтобы зачистить все следы присутствия MySQL в ОС. Если на сервере установлена MariaDB или другое ПО, использующее этого пользователя, ручное удаление учетной записи может стать причиной появления новых проблемы.
Поэтому перед принятием решения и выполнения команды выше убеждаемся – пользователь больше нигде не нужен:
getent passwd mysql
getent group mysqlКак проверить, что MySQL удалён полностью
После очистки проверяем службу:
systemctl status mysqlЕсли MySQL удалён, служба не должна быть активной.
Проверяем запущенные процессы:
ps aux | grep '[m]ysqld'Если команда ничего не выводит, процесс mysqld не запущен.
Проверяем установленные пакеты:
dpkg -l | grep -i mysqlЗдесь могут остаться отдельные клиентские библиотеки или другие компоненты. Их наличие само по себе не означает, что сервер MySQL продолжает работать.
Проверяем основные каталоги:
sudo ls -ld /etc/mysql /var/lib/mysql /var/log/mysqlЕсли каталоги были удалены, ls сообщит, что они не существуют.
Наконец, можно проверить, слушает ли кто-либо стандартный порт MySQL:
sudo ss -lntp | grep ':3306'Пустой результат означает, что на TCP-порту 3306 сейчас никто не слушает.
Частые проблемы при удалении
Теперь вы знаете, как удалить MySQL из Ubuntu, но часто во время решения этой казалось бы простой задачи возникают некоторые трудности. Дальше рассмотрим самые распространенные и типовые ситуации на практике.
dpkg сообщает о незавершенной настройке пакетов
Если предыдущая операция с пакетами была прервана, сначала пробуем:
sudo dpkg --configure -aЗатем:
sudo apt --fix-broken installПосле восстановления состояния пакетного менеджера повторите apt purge.
apt сообщает о зависимостях
Не удаляйте зависимости вручную через rm. Посмотрите, какие пакеты блокируют операцию:
apt depends mysql-serverи список установленных компонентов:
dpkg -l | grep -E 'mysql|mariadb'После этого удаляйте ненужные пакеты через apt, а не вручную.
После purge остался /var/lib/mysql
Это не обязательно ошибка. Удаление пакета и данных пользователя — разные операции. Если данные больше не нужны, каталог можно удалить руками после резервного копирования.
После удаления MySQL приложение перестало работать
Проверяем конфигурацию приложения. Может быть, оно использовало MySQL как основную базу данных. Удаление серверного ПО не означает автоматического переноса данных на другую СУБД.
Что дальше — переустановка или переход на другой движок
Если MySQL удалялся из-за повреждённой установки, обычно достаточно снова установить сервер:
sudo apt update
sudo apt install mysql-serverUbuntu поддерживает пакет mysql-server как метапакет, который устанавливает актуальную серверную версию из соответствующего репозитория дистрибутива. В актуальных Ubuntu 22.04 и 24.04 LTS это ветка MySQL 8.0.
Если задача заменить MySQL, можно рассмотреть MariaDB или PostgreSQL. MariaDB во многих сценариях совместима с приложениями, рассчитанными на MySQL, но переход всё равно стоит проверять на уровне конкретного приложения, SQL-запросов, драйверов и структуры базы.
На VPS такой переход особенно удобен: при наличии root-доступа администратор сам контролирует пакеты, конфигурацию, файловую систему и резервное копирование. Если для следующего проекта нужен отдельный сервер, можно выбрать виртуальный сервер от Leneex и развернуть нужное окружение самостоятельно.







