149

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

How can I do that?

245

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
  • 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 – Ketan 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
  • 3
    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
59

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
    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. – Blauhirn Aug 3 '16 at 20:17
24

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
  • 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
6

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

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

3

I forgot the mysql root password and needed to reset. I tried this http://www.rackspace.com/knowledge_center/article/mysql-resetting-a-lost-mysql-root-password and didn't work because it kept saying can't write logs or similar. Now my solution was to completely remove mysql from Ubuntu13.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 commandline, because Ubuntu sometimes keeps some libs even you try purge them all. Now install mysql server and client

sudo apt-get install mysql-client mysql-server
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
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...

0

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

protected by Byte Commander Feb 25 '16 at 7:53

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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