253

I installed MySQL using sudo apt-get. Now I need to remove it from my system.

How can I do that?

9 Answers 9

421

I assume that you don't need MySQL anymore and you have already taken backup of your important databases. I suggest you to take backup of your important MySQL databases.

Note: Your all mysql data will be lost.

First make sure that MySQL service is stopped.

sudo systemctl stop mysql

Remove MySQL related all packages completely.

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*

Remove MySQL configuration and data. If you have changed database location in your MySQL configuration, you need to replace /var/lib/mysql according to it.

sudo rm -rf /etc/mysql /var/lib/mysql

(Optional) Remove unnecessary packages.

sudo apt autoremove

(Optional) Remove apt cache.

sudo apt autoclean
13
  • 2
    I guess this doesn't work. After I do these steps, I tried : sudo apt-get install mysql-client-core-5.5. But it shows : mysql-client-core-5.5 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 97 not upgraded.. Is that mean still mysql resides in my pc?
    – batman
    Aug 6, 2012 at 9:35
  • 1
    If I try sudo dpkg --purge mysql-server mysql-client mysql-common I get : dpkg: warning: there's no installed package matching mysql-server dpkg: warning: there's no installed package matching mysql-client dpkg: warning: there's no installed package matching mysql-common . I'm bit confused now. Is that mysql have been removed or not?
    – batman
    Aug 6, 2012 at 11:17
  • Why does this remove xbmc and xbmc-bin as well? There are no xbmc tables in mysql when browsing with phpmyadmin.
    – Redsandro
    Jan 16, 2014 at 17:47
  • 5
    this wasn't sufficient for me, a few more things had to be done: stackoverflow.com/a/16178696/447661 Jul 26, 2014 at 21:07
  • 4
    This also wasn't sufficient for me - for me, also, the answer here instead worked: stackoverflow.com/a/16178696/368896 Oct 9, 2015 at 8:35
120

all the above solutions are correct but I would try with

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean

This will uninstall all mysql related packages.

10
  • 13
    This is the easiest/simplest way to get rid of everything mysql-related. Though the wildcard here will match pretty much any package with 'mysq' in it's name, so you might want to specify sudo apt-get remove --purge -s 'mysql*' to be more specific. May 23, 2014 at 18:52
  • Seconded on the use of a more specific regex. I ended up using the regex of '^mysql-' Initially, I was going to run mysql, but found out it caught a ton of stuff unrelated...like:Note, selecting 'mysql-testsuite' for regex '^mysql*' Note, selecting 'mysql-server' for regex '^mysql*' Note, selecting 'mysql-server-core' for regex '^mysql*' Note, selecting 'mysqmail' for regex '^mysql*' Note, selecting 'mysqmail-pure-ftpd-logger' for regex '^mysql*'
    – MaasSql
    Mar 11, 2015 at 16:18
  • I tried all the commands listed here and afterwards if I type 'mysql' into the terminal and press tab twice I still see some option come up for mysql, does this mean anything? > mysql mysqld mysql_upgrade mysqlcheck mysql_install_db Mar 26, 2015 at 20:45
  • This only worked for me when I used sudo apt-get -f autoremove
    – Simon D
    Oct 21, 2015 at 5:33
  • this gives me a couple of errors like ` E: Unable to locate package mysql `. my installation seems to be a bit messed up. and it kind of frightening that i cant even re-install it.
    – phil294
    Aug 3, 2016 at 20:17
34

This will remove mysql 5.6 from ubuntu 15.04

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
3
  • 1
    Manually removing the directories seemed necessary for me (so +1), perhaps because my directories were symbolic links?
    – Jonathan
    Dec 13, 2015 at 9:20
  • 1
    I felt like your anwser was the most concise, so I wantedo comment here. I did something similar for mariadb, however i noticed I had a dangling system service. I had to remove it using: superuser.com/a/936976/260852 Sep 28, 2016 at 14:28
  • 1
    Thanks, this also works for mysql 5.7 on ubuntu 16.04.
    – tated
    Jan 22, 2018 at 22:52
10

First you need to stop your mysql server from service.

sudo service mysql stop

Then You can use purge command to uninstall

sudo apt-get purge mysql-server mysql-client

Note: the above based on your package list. I have installed both server and client. This will for your convineient

1
  • Stopping the MySQL service was key for me. I had it running and kept getting an error: dpkg: unrecoverable fatal error, aborting: fork failed: Cannot allocate memory E: Sub-process /usr/bin/dpkg returned an error code (2) Stopping MySQL, then running sudo dpkg --configure -a followed by sudo apt-get remove --purge mysql* worked for me.
    – tww0003
    Aug 14, 2018 at 14:44
6

Completly uninstall mysql:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql*
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld ~/.mysql_history
updatedb

Based on this answer and many others...

5

I don't use Ubuntu much but what I think you should try is what I did.

I first typed this in command line : sudo apt-get remove --purge mysql-server mysql-client mysql-common,

then followed with this below : sudo apt-get autoremove

and finally typed this : sudo apt-get autoclean.

I found that it was removed.

4

I forgot the MySQL root password and needed to reset. I tried this, but it didn't work, because it kept saying "can't write logs" or something similar.

My solution was to completely remove MySQL from Ubuntu 13.10 and fresh installation.

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo rm -rf /var/lib/mysql

I had to run the last command because Ubuntu sometimes keeps some libs even you try to purge them all.

Now, I use this command to install MySQL server and client:

sudo apt-get install mysql-client mysql-server
3

Try this, It will fully wipeout out every single file of MySQL from your system:

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser -f mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.7
sudo apt-get purge mysql-client-core-5.7
sudo rm -rf /var/log/mysql
sudo rm -rf /etc/mysql
2

When I tried sudo apt-get purge mysql* it didn't work.

Purged mysql5 with:

sudo apt-get purge mysql-*

Then for cleaning up:

sudo apt-get autoremove
sudo apt-get autoclean

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .