连接mysql时,通过localhost是通过套接字来访问,通过127.0.0.1则是tcp/ip来访问
无法通过localhost访问说明是套接字的问题
首先找mysql.sock的位置
sudo find / -name mysql.sock
假设mysql.sock的位置是在var/lib/mysql目录下
而php默认调用的sock是在var/mysql下面或者在tmp下面,所以执行下面两个操作,基本可以解决
sudo ln -s /var/lib/mysql/mysql.sock /var/mysql/mysql.sock
sudo ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock