确保您授予用户完全权限的用户与MySQL Workbench所连接的用户相同 - 例如主机%
和localhost
之间存在差异。在MySQL Workbench中,发出“状态”命令,并根据您配置的内容比较用户名和主机。
你显然是通过'localhost'连接的,所以你必须给主机localhost的匿名用户提供完全的权限(或者把你的连接类型改为tcp,以便你的连接通过127.0.0.1而不是localhost)。
编辑进一步说明: MySQL权限结构不同地处理不同类型的连接;通过TCP连接连接的客户端总是看起来来自IP地址,即使它来自“本地主机”(即在同一台计算机上),在这种情况下,传入连接的IP地址可能为127.0。 0.1。套接字类型连接在MySQL中注册为来自主机“本地主机”(字面上,在这种情况下)。这就是我们验证MySQL Workbench连接的主机的原因。
不同的连接类型与MYSQL不同,即使它们来自同一个“本地机器”。此外,通配符主机不包含'本地主机'套接字连接,这些是'localhost'主机名在权限字段中的单独条目;正如我上面解释的那样,通配符不适用。这就是我们为什么要检查你对MySQL Workbench连接的权限设置的原因;这是这些困难最常见的原因。
你确定你为用户'user'增加了权限而不是'root'吗? – John