当前位置:Gxlcms > mysql > MySQL安全性指南(2)_MySQL

MySQL安全性指南(2)_MySQL

时间:2021-07-01 10:21:17 帮助过:16人阅读

  2.1.3 数据库和表权限

  下列权限运用于数据库和表上的操作。

ALTER

  允许你使用ALTER TABLE语句,这其实是一个简单的第一级权限,你必须由其他权限,这看你想对数据库实施什么操作。

CREATE

  允许你创建数据库和表,但不允许创建索引。

DELETE

  允许你从表中删除现有记录。

DROP

  允许你删除(抛弃)数据库和表,但不允许删除索引。

INDEX

  允许你创建并删除索引。

REFERENCES

  目前不用。

SELECT

  允许你使用SELECT语句从表中检索数据。对不涉及表的SELECT语句就不必要,如SELECT NOW()或SELECT 4/2。

UPDATE

  允许你修改表中的已有的记录。

  2.1.4 管理权限

  下列权限运用于控制服务器或用户授权能力的操作的管理性操作。

  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关闭服务器。

  在user、db和host表中,每一个权限以一个单独的列指定。这些列全部声明为一个ENUM("N","Y")类型,所以每个权的缺省值是“N”。在tables_priv和columns_priv中的权限以一个SET表示,它允许权限用一个单个列以任何组合指定。这两个表比其他三个表更新,这就是为什么它们使用更有效的表示方式的原因。(有可能在未来,user、db和host表也用一个SET类型表示。)

人气教程排行