鏈接mysql時,經過localhost是經過套接字來訪問,經過127.0.0.1則是tcp/ip來訪問php
沒法經過localhost訪問說明是套接字的問題mysql
首先找mysql.sock的位置sql
sudo find / -name mysql.socktcp
假設mysql.sock的位置是在var/lib/mysql目錄下ip
而php默認調用的sock是在var/mysql下面或者在tmp下面,因此執行下面兩個操做,基本能夠解決sudo
sudo ln -s /var/lib/mysql/mysql.sock /var/mysql/mysql.socklocalhost
sudo ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock