- Completely Uninstall MySQL Server in Ubuntu
- Backup MySQL Databases in Linux
- Remove MySQL Server in Ubuntu
- Remove MySQL Database Files and Logs
- Remove Orphaned Packages Packages
- RECOMMENDED ARTICLES
- 3 thoughts on “Completely Uninstall MySQL Server in Ubuntu”
- 📑 Как полностью удалить MySQL из Ubuntu
- How to completely delete MySQL for clean install
Completely Uninstall MySQL Server in Ubuntu
While package management in Ubuntu, as in most Linux operating systems nowadays, makes it extremely easy to install, upgrade and delete a piece of software, some software is a bit more complex in nature and contains multiple configuration folders, etc.
One such complex software is MySQL Server. Uninstalling MySQL Server does not simply amount to running ‘apt purge‘ as is done usually. There are few small steps you can follow to completely uninstall MySQL Server from your Ubuntu machines.
Backup MySQL Databases in Linux
If you do not have any database created in MySQL, you can skip this step. If you have, before you remove MySQL Server from the system, make sure you take a backup of all your databases, so that when you reinstall it on another system or want to use the database on an existing server, you can simply restore them.
Remove MySQL Server in Ubuntu
The Ubuntu packages for MySQL Server start with ‘mysql-server’ and you can use apt purge command to remove all these packages.
$ sudo apt purge mysql-server*
As you can see, it has removed 3 packages that contain files for the server. The reason we use ‘purge‘ instead of ‘remove‘ is that the former removes the configuration files for the program as well, whereas the latter only removes the program binaries.
Remove MySQL Database Files and Logs
The command ‘apt purge‘ does remove the binaries and the configuration files, however, there are some more MySQL configuration files and the database files which are not touched by any package manager.
The configuration files are present in /etc/mysql and the security keys and other related files are stored in /var/lib/mysql.
$ ls /etc/mysql $ sudo ls /var/lib/mysql
Thus, these MySQL configuration files and database files need to be deleted manually.
$ sudo rm -r /etc/mysql /var/lib/mysql
If you have enabled logging for MySQL, make sure you delete the log files as well.
Remove Orphaned Packages Packages
Along with the MySQL Server packages installed by the package manager, there are some packages that are also installed as dependencies for the server. These are no longer required by the system, as the main package itself has been purged. They are also known as ‘Orphaned Packages’.
Run the following apt command to remove such packages.
Note that this will remove ALL orphaned packages, not only the ones orphaned by the purging of the MySQL Server. You can see in the output that MySQL Client packages are also being removed, as they are now useless without the server package.
Conclusion
We learned how to completely uninstall MySQL Server in Ubuntu in a few easy steps. Database deletions, upgrades, and installations should be handled with the utmost care, and data should be backed up from time to time, so as to prevent data-related disasters on a personal level or on an organizational level.
Thanks for reading and let us know your thoughts in the comments below!
I am an Experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies. Founder of TecMint.com, LinuxShellTips.com, and Fossmint.com. Over 150+ million people visited my websites.
Each tutorial at UbuntuMint is created by a team of experienced writers so that it meets our high-quality standards.
Was this article helpful? Please add a comment to show your appreciation and support.
RECOMMENDED ARTICLES
3 thoughts on “Completely Uninstall MySQL Server in Ubuntu”
Did not work because the system attempts to constantly re-install and then reports in a bad state. dpkg: warning: old mysql-server-8.0 package pre-removal script subprocess returned error exit status 1
dpkg: trying script from the new package instead .
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action «stop» failed.
dpkg: error processing archive /var/cache/apt/archives/mysql-server-8.0_8.0.27-0ubuntu0.20.04.1_amd64.deb (—unpack):
new mysql-server-8.0 package pre-removal script subprocess returned error exit status 1
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action «stop» failed.
Failed to start mysql.service: Unit mysql.service not found.
invoke-rc.d: initscript mysql, action «start» failed.
Unit mysql.service could not be found.
dpkg: error while cleaning up:
installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/mysql-server-8.0_8.0.27-0ubuntu0.20.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1) will not install any other updates on the system whilst this loop remains. Reply
If the above command is not fixed, try to force the package installation using the following command.
$ sudo apt install -f OR $ sudo apt install --fix-broken
📑 Как полностью удалить MySQL из Ubuntu
Иногда бывает нужно полностью удалить MySQL из Ubuntu. Например для того, чтобы установить вместо нее MariaDB или PerconaDB. Что, впрочем, очень рекомендуется сделать.
Для этого нужно остановить сервис MySQL:
Если нужно полностью удалить MySQL из системы, то необходимо использовать следующие команды. С их помощью можно деинсталлировать MySQL server/client пакеты, удалить конфигурационные файлы MySQL, вычистить директорию данных MySQL (т.е. /var/lib/mysql), и удалить из системы пользователя mysql. То-есть вычистить все, относящееся к MySQL.
$ sudo apt-get remove --purge mysql-server mysql-client mysql-common $ sudo apt-get autoremove $ sudo apt-get autoclean
Если нужно только удалить пакеты, относящиеся к MeSQL, но оставить конфигурационные файлы и файлы данных, нужно использовать следующую последовательность команд:
$ sudo apt-get remove mysql-server mysql-client mysql-common $ sudo apt-get autoremove $ sudo apt-get autoclean
- Шпаргалка основных команд mysql по работе с базой данных и таблицам
- Настройка удаленного доступа MySQL и MariaDB в Linux Ubuntu
- Процесс создания базы MySQL, нового пользователя и загрузки дампа
- Как посмотреть всех пользователей и привилегии в MySQL
- Проверка, восстановление и оптимизация баз MySQL
- Установка Nginx, MariaDB и PHP-FPM на Ubuntu 16.04
- Как полностью удалить MySQL из Ubuntu
- Удаление всех таблиц из базы MySQL
- Установка сервера percona
- Установка Nginx+php5-fpm+MariaDB на Ubuntu 14.04
- Дампы баз данных MySql — mysqldump
- Перенос баз данных MySQL
- Защита phpMyAdmin
How to completely delete MySQL for clean install
I need to completely delete everything about MySQL. It was not starting so I decided to delete it. However during installation this happened:
sta@daPC:~$ sudo apt-get install mysql-server Reading package lists. Done Building dependency tree Reading state information. Done The following extra packages will be installed: libdbd-mysql-perl libmysqlclient18 mysql-client-5.6 mysql-common mysql-server-5.6 Suggested packages: mailx tinyca The following NEW packages will be installed: libdbd-mysql-perl libmysqlclient18 mysql-client-5.6 mysql-common mysql-server mysql-server-5.6 0 upgraded, 6 newly installed, 0 to remove and 87 not upgraded. Need to get 0 B/12,0 MB of archives. After this operation, 101 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Preconfiguring packages . Selecting previously unselected package mysql-common. (Reading database . 188526 files and directories currently installed.) Preparing to unpack . /mysql-common_5.6.28-0ubuntu0.15.10.1_all.deb . Unpacking mysql-common (5.6.28-0ubuntu0.15.10.1) . Selecting previously unselected package libmysqlclient18:i386. Preparing to unpack . /libmysqlclient18_5.6.28-0ubuntu0.15.10.1_i386.deb . Unpacking libmysqlclient18:i386 (5.6.28-0ubuntu0.15.10.1) . Selecting previously unselected package libdbd-mysql-perl. Preparing to unpack . /libdbd-mysql-perl_4.028-2_i386.deb . Unpacking libdbd-mysql-perl (4.028-2) . Selecting previously unselected package mysql-client-5.6. Preparing to unpack . /mysql-client-5.6_5.6.28-0ubuntu0.15.10.1_i386.deb . Unpacking mysql-client-5.6 (5.6.28-0ubuntu0.15.10.1) . Processing triggers for man-db (2.7.4-1) . Setting up mysql-common (5.6.28-0ubuntu0.15.10.1) . update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode Selecting previously unselected package mysql-server-5.6. (Reading database . 188621 files and directories currently installed.) Preparing to unpack . /mysql-server-5.6_5.6.28-0ubuntu0.15.10.1_i386.deb . Unpacking mysql-server-5.6 (5.6.28-0ubuntu0.15.10.1) . Selecting previously unselected package mysql-server. Preparing to unpack . /mysql-server_5.6.28-0ubuntu0.15.10.1_all.deb . Unpacking mysql-server (5.6.28-0ubuntu0.15.10.1) . Processing triggers for man-db (2.7.4-1) . Processing triggers for ureadahead (0.100.0-19) . ureadahead will be reprofiled on next reboot Processing triggers for systemd (225-1ubuntu9) . Setting up libmysqlclient18:i386 (5.6.28-0ubuntu0.15.10.1) . Setting up libdbd-mysql-perl (4.028-2) . Setting up mysql-client-5.6 (5.6.28-0ubuntu0.15.10.1) . Setting up mysql-server-5.6 (5.6.28-0ubuntu0.15.10.1) . update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode 2016-02-17 04:13:48 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-02-17 04:13:48 0 [Note] /usr/sbin/mysqld (mysqld 5.6.28-0ubuntu0.15.10.1) starting as process 13491 .
As you can see it is stuck on starting the MySQL server again. How can I delete MySQL completely for a fresh install? EDIT: Problem solved itself after restarting the computer. Since I couldn’t detect neither the problem nor the actual solution I am not posting it as an answer.