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. They are as follows:
Backup All MySQL Databases
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.
Learn how to backup databases in MySQL here – How to Backup All MySQL Databases from Command-Line.
Remove MySQL Server in Ubuntu
The Ubuntu packages for MySQL Server start with ‘mysql-server’ and you can use ‘apt purge‘ 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.
$ sudo rm -r /var/log/mysql
Remove Non-Required 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.
$ sudo apt autoremove
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.
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!