遇到問題----Can't connect to local MySQL server through socket '/tmp/mysql.sock'
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
提示得很清楚 就是連線的時候要/tmp路徑下找一個mysql.sock檔案 這裡沒有找到。
那我們應該怎麼辦呢
我們可以查詢下哪裡有這個檔案 或者去它的路徑下看看有沒有這個檔案
我們會發現/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路徑下
結果發現 不能複製 但這裡我們可以做一個連線
cp /var/lib/mysql/mysql.sock /tmp/mysql.sock
cp: 無法開啟 “/var/lib/mysql/mysql.sock” 讀取資料: 沒有那個裝置或地址
用命令
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
現在可以登入了