Error
ERROR 2002 (HY000): Can’t connect to local server through socket ‘/run/mysqld/mysqld.sock’ (2)
FIX
sudo apt-get install mysql-server
- Stop
mysqlsudo /etc/init.d/mysql stopOr for other distribution versions:
sudo /etc/init.d/mysqld stop - Start MySQL in safe mode
sudo mysqld_safe --skip-grant-tables & - Log into MySQL using root
mysql -u root - Select the MySQL database to use
use mysql; - Reset the password
-- MySQL version < 5.7 update user set password=PASSWORD("mynewpassword") where User='root'; -- MySQL 5.7, mysql.user table "password" field -> "authentication_string" update user set authentication_string=password('mynewpassword') where user='root'; - Flush the privileges
flush privileges; - Restart the server
quit - Stop and start the server again
Ubuntu and Debian:
sudo /etc/init.d/mysql stop ... sudo /etc/init.d/mysql start
On CentOS, Fedora, and RHEL:
sudo /etc/init.d/mysqld stop
...
sudo /etc/init.d/mysqld start
- Login with a new password
mysql -u root -p - Type the new password and enjoy your server again like nothing happened
Error
su: warning: cannot change directory to /nonexistent: No such file or directory
Fix
sudo service mysql stop
sudo usermod -d /var/lib/mysql/ mysql
sudo service mysql start
