Removing MySQL completely on Linux

I'm fairly new to Linux, when I first installed MySQL it was during an LAMP setup on personal machine with a Ubuntu Setup. ATM, I'm trying to get a fresh, clean install of only MySQL. I've been to trying to research how to fix this error:

 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

But realized it's a wild goose-chase, this seems to be a common problem, with a number on solution of it not running in the background. Any Who, I still can't find out what my issue is and I know there is nothing important in this database, so:

 sudo apt-get purge mysql-server mysql-client

Or probably does work, but there is still (conf) files of it saved somewhere. What subdirectories/directories would I have to go into and do a 'sudo rm -f [db_files]' on. (Or other apt-get purge(s) am I missing)

1

4 Answers

What this error message says is "I am unable to connect throught a local file" which can mean either mysqld is not running or it is configured to disable socket or it is in another place.

To completly reinstall mysql :

1) Purge totally mysql packages : apt-get purge mysql mysql-server mysql-common mysql-client (depends on distributions). You can check for remaning packages with dpkg -l | grep mysql

2) Check that the configuration file is gone. It should be under /etc/my.cnf or /etc/mysql/my.cnf. You can make sure by doing find / -name my.cnf. (Note : anything under /usr/share are documentations and example configuration and should not make problems)

3) Remove or move the directory /var/lib/mysql which containe (old) database files

4) apt-get install mysql-server && /etc/init.d/mysqld start should get you a fresh new mysql install.

5) If the error remains, check that mysqld is running using command ps -ef | grep mysqld. If it is, you may want to specify the "sock" parameter under "[mysqld]" in the configuration file names in 2). You can also try to connect using mysql -h 127.0.0.1 --protocol=TCP to force a network connection instead of using UNIX sockets.

1

mysql removiing and reinstall process;

Step 1: Uninstall existing rpms using yum

# yum remove mysql mysql-server

Step 2: Remove or move /var/lib/mysql folder.

# mv /var/lib/mysql /var/lib/mysql-bak

Step 3: Reinstall mysql again using yum.

# yum install mysql mysql-server

Step 4: Now mysql service will start successfully.

1

The setting you are looking for is defined in the mysql config file located in /etc/mysql/ a purge will very likely not affect files which are located in etc especially if they have never been created at the install time(originally created by LAMP).

  1. Purge all mysql stuff as you do above
  2. Locate the config file in the given directory /etc/mysql , if you cant find it use "find" searching for '/var/run/mysqld/mysqld.sock' , it should also be in the configuration file where the default socket lies around
  3. Remove the config file
  4. Reinstall Mysql

If you have any issues, ask.

All database files of mysql are usually stored in /var/lib/mysql.

But your problem seems to be somewhere else: /var/run/mysqld/mysqld.sock is the default position for this files.

Look at the log files /var/log/mysql.err and into /var/log/syslog to track down the error why mysqld does not want to run.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like