1. 程式人生 > >遇到問題----Can't connect to local MySQL server through socket '/tmp/mysql.sock'

遇到問題----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

現在可以登入了