root@g0:~# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@g0:~# /etc/init.d/mysql start
[ ok ] Starting mysql (via systemctl): mysql.service.
上邊是一種方法,接下來分析一波具體錯誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
這句話的意思是說:? 無法通過socket文件/var/run/mysqld/mysqld.sock連接到MySQL服務(wù)器,什么意思呢:
? 對于mysql來說,我將socket文件從/var/run/mysqld/mysqld.sock轉(zhuǎn)移到了/data/mysqld/mysqld.sock我在my.cnf里指定了mysqld知道了,但是對于mysql還是會從默認(rèn)的安裝目錄/var/run/mysqld/里找這個mysqld.sock文件,如果mysql沒有找到,就不知道從哪里啟動了。
mysqld.sock是數(shù)據(jù)庫服務(wù)啟動的時候自動生成的, 當(dāng)服務(wù)關(guān)閉以后,這個文件會自動被刪除,所以你查找不到,建議先重啟數(shù)據(jù)庫服務(wù)。
之后在
/etc/mysql/mysql.conf.d
中修改mysql.sock位置:
接下來啟動服務(wù):
root@g0:/# sudo /etc/init.d/mysql restart
[ ok ] Restarting mysql (via systemctl): mysql.service.
root@g0:/# mysql -u root -p
進(jìn)入數(shù)據(jù)庫