179

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

How can I do that?

280

To remove mysql completely from your system Just type in terminal

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean
| improve this answer | |
  • 1
    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 '12 at 9:35
  • Try sudo dpkg --purge mysql-server mysql-client mysql-common – KK Patel Aug 6 '12 at 10:46
  • 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 '12 at 11:17
  • 4
    this wasn't sufficient for me, a few more things had to be done: stackoverflow.com/a/16178696/447661 – Mihai Rotaru Jul 26 '14 at 21:07
  • 4
    This also wasn't sufficient for me - for me, also, the answer here instead worked: stackoverflow.com/a/16178696/368896 – Dan Nissenbaum Oct 9 '15 at 8:35
76

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.

| improve this answer | |
  • 10
    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. – geerlingguy May 23 '14 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 '15 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 – GoProCameraByGoPro Mar 26 '15 at 20:45
  • This only worked for me when I used sudo apt-get -f autoremove – Simon D Oct 21 '15 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 '16 at 20:17
25

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
| improve this answer | |
  • 1
    Manually removing the directories seemed necessary for me (so +1), perhaps because my directories were symbolic links? – Jonathan Dec 13 '15 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 – Mario Olivio Flores Sep 28 '16 at 14:28
  • 1
    Thanks, this also works for mysql 5.7 on ubuntu 16.04. – tated Jan 22 '18 at 22:52
8

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

| improve this answer | |
  • 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 '18 at 14:44
4

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.

| improve this answer | |
3

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
| improve this answer | |
1

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
| improve this answer | |
1

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
| improve this answer | |
0

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...

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.