3

我见过其他类似的问题,但这有点不同。

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

在 Mac 和 Windows 上:我可以使用它登录。

mysql -u user -p<password>

在 Linux 上,它因 'user'@'localhost' 的密码无效而失败。

知道为什么吗?我希望 'user'@'%' 是所有主机,包括 localhost,因为它在 Mac 和 Windows 中的行为,但在 Linux 上是不同的。

4

2 回答 2

2

前段时间我自己问过这个问题。 创建 MySQL 用户时使用 % 作为主机

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

于 2013-07-31T12:30:52.520 回答
1

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

于 2013-07-31T12:31:39.720 回答