MySQL的用户设置与授权
2009-01-04 11:15:58 来源:WEB开发网对于表,你能指定的唯一priv_type值是SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、GRANT、INDEX和ALTER。
对于列,你能指定的唯一priv_type值是(即,当你使用一个column_list子句时)是SELECT、INSERT和UPDATE。
·columns 权限适用的列。
这是可选的,只来设置列专有的权限。如果命名多于一个列,则用逗号分开。
·what 权限应用的级别
GRANT允许系统主管在4个权限级别上授权MySQL用户的权利:
·全局级别
全局权限作用于一个给定服务器上的所有数据库。这些权限存储在mysql.user表中。 你能通过使用ON *.*语法设置全局权限
·数据库级别
数据库权限作用于一个给定数据库的所有表。这些权限存储在mysql.db和mysql.host表中。 你能通过使用ON db_name.*语法设置数据库权限。如果你指定ON *并且你有一个当前数据库,你将为该数据库设置权限。(警告:如果你指定ON *而你没有一个当前数据库,你将影响全局权限!)
·表级别
表权限作用于一个给定表的所有列。这些权限存储在mysql.tables_priv表中。你能透过 ON tbl_name,为具体的表名设置权限。
·列级别
列权限作用于在一个给定表的单个列。这些权限存储在mysql.columns_priv表中。你可以通过指定一个columns子句将权限授予特定的列,同时要在ON子句中指定具体的表。
对与一个表或列的权限是由4个权限级别的逻辑或形成的。例如,如果mysql.user表指定一个用户有一个全局select权限,它不能被数据库、表或列的一个条目否认。
对于一个列的权限能如下计算:
global privileges
OR (database privileges AND host privileges)
OR table privileges
OR column privileges
更多精彩
赞助商链接