Mysql入门系列:安全网络访问mysql数据库服务器
2006-12-31 10:52:34 来源:WEB开发网db db 表列出数据库以及哪些用户拥有访问这些数据库的权限。这里指定的权限适用于数据库中所有的表。
host host 表与db表结合使用,在更细的级别上控制对特定主机的数据库访问权限。该表不受GRANT 和REVOKE 语句的影响,因此您会发现根本不会去使用它。
tables_priv tables_priv 表指定表级的权限。在这里所指定的权限适用于表中所有的列。
columns_priv columns_priv 表指定列级的权限。在这里所指定的权限适用于表中特定的列。
在12 . 2 . 4节“不用GRANT 建立用户”中,我们将讨论GRANT 语句怎样修改这些表以及怎样通过直接修改授权表来达到相同的结果。
tables_priv 和columns_priv 表是在MySQL3.22.11中引入的(与GRANT 语句同时)。如果您拥有MySQL的旧版本,则mysql数据库只有user、db 和host 表。如果已经从旧版本升级到3 . 2 2 . 11以上的版本,但仍没有tables_priv 和columns_priv 表的话,可运行mysql_fix_privileges_table 脚本创建它们。
没有rows_priv 表,因为MySQL不提供记录级的权限。例如,不能使用户只局限于某些列中包含某个值的表中的那些行。如果需要这个能力,必须编写应用程序。如果要想执行咨询记录级锁定(advisory record-level locking),可用附录C 中介绍的GET_LOCK() 函数进行。
授权表中包含两种类型的列:作用域列( scope column)和权限列( privilege column),前者决定一个项何时可用,后者决定一个项可授予哪些权限(有些授权表中包含其他各式各样的列,但在这里与我们无关)。
1. 授权表的作用域列
更多精彩
赞助商链接