Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I figured I'd share my question here and then answer, as there seems to be many people stuck in my position - but no definitive answer. The problem is, if you apt-get remove mysql-server, it does not clean up the configuration and database files, so if you've somehow screwed them up, then installing again, will not replace them. So there seems to be many people asking "how do I completely remove mysql-server, so that I can re-install a fresh?" -- everyone answers with apt-get remove --purge mysql-server -- I'm not sure why, but this does not fully uninstall. My answer follows...

share|improve this question

4 Answers 4

up vote 9 down vote accepted

removing mysql-server does not work because mysql-server is just a metapackage that depends on the specific server version

apt-get remove --purge 'mysql-.*'

or

apt-get remove --purge 'mysql-server.*'

will do the trick.

share|improve this answer
    
Thanks for the tip. I didn't know wildcards could be used. –  nbolton Feb 12 '10 at 2:39
    
it's actually a regular expression, thus the '.*' rather than plain ''. If you tried to remove mysql- it would only match a package named like mysql----------- which is not very helpful :-) –  Justin Feb 12 '10 at 3:52
    
as mentioned below you'll want to be wary of mysql-common which is used by a few bits and pieces (dovecot springs to mind). –  Frenchie Feb 12 '10 at 13:23
    
Ah, yes, regex not wildcard - oops! –  nbolton Mar 1 '10 at 18:35

I had some problems with that. Even after removing all the server packages, there are some config files installed by mysql-common, which is a dependency of libmysqlclient.

Try using dpkg -S /etc/mysql to see which packages are installing those files.

share|improve this answer

You can also use dpkg -P to achieve this

From the dpkg man page

 -P or --purge removes everything, including configuration files.
share|improve this answer

This worked for me (I'd also tried installing v5.0, but this made matters worse):

apt-get remove --purge mysql-server-5.0 mysql-common mysql-client-5.0 \
mysql-server-5.1 mysql-client-5.1 mysql-server mysql-client

apt-get install mysql-server

I think the key here is removing mysql-common -- but I'm not sure. Please try this and leave your comments.

share|improve this answer
    
If you are using 5.0 and above then apt-get purge ... is the same as apt-get --purge remove ... –  Zoredache Feb 10 '10 at 0:03

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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