MySQL工作台错误1044/1142: 用户''@'localhost'被拒绝访问/授权命令被拒绝。

3
我使用Mac OSX 10.6.8,并使用Mysql Workbench来学习如何处理数据库。目前我是一个数据库的初学者。现在,我已经创建了几个用户,并尝试着让这些用户通过授予和撤销彼此不同的权限来相互交互。
我通过root用户登录并使用必要的授权查询(通过“show grants”查询验证)给所有“toy users”赋予了最初的权利,但是当我尝试以各种用户身份登录时出现问题。假设其中两个用户名为“Sofia”和“Martin”,我希望Sofia将更新和插入权限授予Martin到一个名为“Book”的表中。除非我弄错了,否则Sofia已经从我的根登录中获得了必要的特权,所以当我以Sofia的身份登录时,我编写:
grant update, insert on Book to Martin;

这会导致错误

错误1142:对于表'book',用户''@'localhost'被拒绝执行GRANT命令

另外,我尝试弄清楚Sofia拥有哪些权限,并输入以下查询

show grants for Sofia;

当以Sofia身份登录时,响应如下:

错误 1044:用户''@'localhost'无法访问数据库'mysql'

这个神秘的''@'localhost'用户是指错误信息所说的吗?我该怎么做才能使事情正常工作?

1个回答

3
grant update, insert on Book.* to `Martin`@`%`;

请点击编辑查看反引号

参见MySQL手册中的SHOW GRANTS页面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接