Can't connect to local MySQL server through socket '/tmp/mysql.sock'
2018-01-10 17:13:02
20055
錯誤提示:Can't connect to local MySQL server through socket '/tmp/mysql.sock'

提示得很清楚 就是連接的時候要/tmp路徑下找一個mysql.sock文件 這里沒有找到。
那我們應該怎么辦呢
我們可以查找下哪里有這個文件 或者去它的路徑下看看有沒有這個文件

我們會發(fā)現(xiàn)/var/lib/mysql/mysql.sock下有該文件(此路徑跟你安裝時的路徑有關) 但是/tmp下沒有該文件 (如果/tmp下有該文件的話就是權限問題 用chown -R /tmp 命令即可)

這個時候 有兩個方案
方案一:
我們可以去/etc/mysql.cnf中修改配置路徑
摘要:解決不能通過mysql .sock連接MySQL問題 這個問題主要提示是,不能通過 '/tmp/mysql .sock'連到服務器,而php標準配置正是用過'/tmp/mysql .sock',但是一些mysql 安裝方法 將 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通過修改/etc/my.cnf文件來修正它,打開文件,可以看到如下的東東:
[mysql d]
socket=/var/lib/mysql .sock
改一下就好了,但也會引起其他的問題,如mysql 程序連不上了,再加一點:
[mysql ]
socket=/tmp/mysql .sock
或者還可以通過修改php.ini中的配置來使php用其他的mysql .sock來連,這個大家自己去找找
方案二:
客戶端連接時會默認去找/tmp路徑下的mysql.sock 所以 我們這里的第二個方案是 看能不呢把 mysql.sock復制到 /tmp路徑下
結果發(fā)現(xiàn) 不能復制 但這里我們可以做一個連接
cp /var/lib/mysql/mysql.sock /tmp/mysql.sock
cp: 無法打開 “/var/lib/mysql/mysql.sock” 讀取數(shù)據(jù): 沒有那個設備或地址
用命令
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
現(xiàn)在可以登錄了
