Bug #45281 mysql数据库权限表的问题
Submitted: 3 Jun 2009 5:49 Modified: 3 Jul 2009 6:47
Reporter: Mark Yao Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Security: Privileges Severity:S3 (Non-critical)
Version:5.0.37 OS:Windows (XP Professional)
Assigned to: CPU Architecture:Any
Tags: mysql权限, mysql权限表, 权限管理模式, 权限表

[3 Jun 2009 5:49] Mark Yao
Description:
在设置mysql登陆用户的权限时,无法快捷地为该用户分配某个数据库的操作权限.
如我在mysql.user表中添加: Host: localhost or %, User: softroot, 分配的权限:Select_priv,Insert_priv,Update_priv,Delete_priv等,当我在mysql.db表中为该用户限定对某个数据库(如:mysql)的操作权限(如:Insert_priv,Update_priv,Delete_priv等)时,无法实际mysql.db的权限限制,原来是因为mysql.db的权限是级别是低于mysql.user. 这样使我们对用户的分级管理带来很大的不便. 具体原因如下:
   如果我想把mysql数据库对softroot用户不具体任何权限时,在mysql.user中取消相应权限,再到mysql.db表中取消相应数据库的权限(如存在该记录),因为mysql.user的权限是最优先的,这时会导致对其他数据库的操作权限与mysql数据库的权限一样(即不具有任何权限),那么只能在mysql.db表中添加需要操作权限的数据库,如有100个数据库则要添加一百条记录,操作的灵活性极为不便! 

How to repeat:
个人建议把mysql权限使用如下模式其灵活性可能会好些:
   mysql.user => mysql.host => mysql.db => mysql.tables_priv => mysql.columns_priv
  说明:
     默认mysql.user的权限对数据库,表,字段均有效,如果mysql.host有分配则使用mysql.host的权限,如果mysql.db有分配则使用mysql.db 的权限,如此类推...
[3 Jun 2009 6:47] Sveta Smirnova
Thank you for the report.

But bug database uses only English. Please update report with English translation of the problem.
[3 Jul 2009 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".