我见过其他类似的问题,但这有点不同。
我用 '%' 创建了一个 mysql 用户并授予了所有权限。
在 Mac 和 Windows 上:我可以使用它登录。
mysql -u user -p<password>
在 Linux 上,它因 'user'@'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