MySQL'user'@'%'不包括'user'@'localhost'

我已经看到过这样的其他问题,但是这有些不同。

我用'%'创build了一个mysql用户并授予了所有权限。

在Mac和Windows上:我可以使用这个login。

mysql -u user -p<password> 

在Linux上,用户'@ localhost'的密码无效。

任何想法为什么? 我希望'user'@'%'是包括localhost在内的所有主机,因为它在Mac和Windows中运行,但在Linux上不同。

我刚才问自己这个问题。 创建MySQL用户时使用%作为主机

localhost对于mysql来说是特殊的,它是通过命名管道或unix套接字的连接。 所以使用%作为主机不包括本地主机。

确保你不通过套接字连接( http://dev.mysql.com/doc/refman/5.5/en/connecting.html ),尝试使用127.0.0.1或设置 – --protocol=TCP