我使用Mac OSX 10.6.8,并使用Mysql Workbench来学习如何处理数据库。目前我是一个数据库的初学者。现在,我已经创建了几个用户,并尝试着让这些用户通过授予和撤销彼此不同的权限来相互交互。
我通过root用户登录并使用必要的授权查询(通过“show grants”查询验证)给所有“toy users”赋予了最初的权利,但是当我尝试以各种用户身份登录时出现问题。假设其中两个用户名为“Sofia”和“Martin”,我希望Sofia将更新和插入权限授予Martin到一个名为“Book”的表中。除非我弄错了,否则Sofia已经从我的根登录中获得了必要的特权,所以当我以Sofia的身份登录时,我编写:
我通过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'用户是指错误信息所说的吗?我该怎么做才能使事情正常工作?