Removing MySQL completely on Linux

63,636

Solution 1

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.

Solution 2

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.

Share:
63,636

Related videos on Youtube

Admin
Author by

Admin

Updated on September 18, 2022

Comments

  • Admin
    Admin almost 2 years

    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)

    • Tom
      Tom about 12 years
      Your error indicates that mysql was not running on the machine when you tried to connect to it, you could have tried running the server manually by running sudo /etc/init.d/mysqld. As for removing configuration files, apt-get purge should have done that, otherwise try sudo dpkg -P mysql-server or manually remove /etc/mysql/. As for database files, the default Ubuntu install location for them is, I want to say, /var/db, but I don't use Ubuntu so I don't know. Also, you might want to take this to askubuntu.com, which is the StackExchange site for Ubuntu users.
  • Thalys
    Thalys almost 11 years
    from the use of apt, he's probably not on centos or RHEL - as they question says he runs ubuntu
  • mveroone
    mveroone almost 11 years
    How did this question reached the top ? didn't see it was from a year ago. The problem is probably long gone...