1 授权表范围列的大小写敏感性 +--------------+-----+-----+---------+----+-----------+------------+ | 列 |Host |User |Password |Db |Table_name |Column_name | | 大小写敏感性 |No |Yes |Yes |Yes |Yes |No | +--------------+-----+-----+---------+----+-----------+------------+ 2 授权表权限列 授权表还包含权限列,他们指出在范围列中指定的用户拥有何种权限。 +------------+-----------------+----------------------+ | 权限 | 列 | 作用域 | +------------+-----------------+----------------------+ | select | Select_priv | 表 | | insert | Insert_priv | 表 | | update | Update_priv | 表 | | delete | Delete_priv | 表 | | index | Index_priv | 表 | | alter | Alter_priv | 表 | | create | Create_priv | 数据库、表或索引 | | drop | Drop_priv | 数据库或表 | | grant | Grant_priv | 数据库或表 | | references | References_priv | 数据库或表 | | reload | Reload_priv | 服务器管理 | | shutdown | Shutdown_priv | 服务器管理 | | process | Process_priv | 服务器管理 | | file | File_priv | 在服务器上的文件存取 | +------------+-----------------+----------------------+ 3.数据库和表权限 下列权限运用于数据库和表上的操作。 ALTER 允许使用ALTER TABLE语句 CREATE 允许创建数据库和表,但不允许创建索引。 DELETE 允许从表中删除现有记录。 DROP 允许删除(抛弃)数据库和表,但不允许删除索引。 INDEX 允许创建并删除索引。 REFERENCES 目前不用。 SELECT 允许使用SELECT语句从表中检索数据。对不涉及表的SELECT语句就不必要,如SELECT NOW()或SELECT 4/2。 UPDATE 允许修改表中的已有的记录。 管理权限 下列权限运用于控制服务器或用户授权能力的操作的管理性操作。 FILE 允许读写服务器主机上的文件。该权限不应该随便授予,它很危险。 虽然已经授予读写权限,但所写的文件必须不是现存的文件, 这防止你迫使服务器重写重要文件,如/etc/passwd或属于别人的数据库的数据目录。 如果授权FILE权限,确保UNIX不以root用户运行服务器,因为root可在文件系统的任何地方创建新文件。 如果你以一个非特权用户运行服务器,服务器只能该给用户能访问的目录中创建文件。 GRANT 允许将自己的权限授予别人,包括GRANT。 PROCESS 允许通过使用SHOW PROCESS语句或mysqladmin process命令查看服务器内正在运行的线程(进程)的信息。 这个权限也允许你用KILL语句或mysqladmin kill命令杀死线程。 你同样可以看到或杀死你自己的线程。 PROCESS权限赋予了你对任何线程做这些事情的权力。 RELOAD 允许执行大量的服务器管理操作。 你可以发出FLUSH语句, 你也能执行mysqladmin的reload、refresh、flush-hosts、flush-logs、flush-privileges和flush-tables等命令。 SHUTDOWN 允许用mysqladmin shutdown关闭服务器。