当前位置:首页 > Mysql教程 > 列表

mysql中权限参数说明

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-25 15:17:08 浏览: 评论:0 

权限是mysql中一个非常重要的功能,我们针对不用的用户会设置不同的权限,这样可以保证mysql数据库安全的运行,下面我来分享一些mysql权限参考介绍.

1 授权表范围列的大小写敏感性,如下:

  1. +--------------+-----+-----+---------+----+-----------+------------+ 
  2. | 列           |Host |User |Password |Db  |Table_name |Column_name | 
  3. | 大小写敏感性 |No   |Yes  |Yes      |Yes |Yes        |No          | 
  4. +--------------+-----+-----+---------+----+-----------+------------+ 

2 授权表权限列,授权表还包含权限列,他们指出在范围列中指定的用户拥有何种权限.

  1. +------------+-----------------+----------------------+ 
  2. | 权限       | 列              | 作用域               | 
  3. +------------+-----------------+----------------------+  
  4. | select     | Select_priv     | 表                   | 
  5. | insert     | Insert_priv     | 表                   | 
  6. | update     | Update_priv     | 表                   | 
  7. | delete     | Delete_priv     | 表                   | 
  8. | index      | Index_priv      | 表                   | 
  9. | alter      | Alter_priv      | 表                   | 
  10. | create     | Create_priv     | 数据库、表或索引     | 
  11. | drop       | Drop_priv       | 数据库或表           | 
  12. | grant      | Grant_priv      | 数据库或表           | 
  13. | references | References_priv | 数据库或表           | 
  14. | reload     | Reload_priv     | 服务器管理           | 
  15. | shutdown   | Shutdown_priv   | 服务器管理           | 
  16. | process    | Process_priv    | 服务器管理           | 
  17. | file       | File_priv       | 在服务器上的文件存取 | 
  18. +------------+-----------------+----------------------+ 

3.数据库和表权限.

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

  1. ALTER 
  2.   //允许使用ALTER TABLE语句 
  3. CREATE 
  4.   //允许创建数据库和表,但不允许创建索引。 
  5. DELETE 
  6.   //允许从表中删除现有记录。 
  7. DROP 
  8.   //允许删除(抛弃)数据库和表,但不允许删除索引。 
  9. INDEX 
  10.   //允许创建并删除索引。 
  11. REFERENCES 
  12.   //目前不用。 
  13. SELECT 
  14.   //允许使用SELECT语句从表中检索数据。对不涉及表的SELECT语句就不必要,如SELECT NOW()或SELECT 4/2 //phpfensi.com 
  15. UPDATE 
  16.   //允许修改表中的已有的记录。 

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

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

用户权限,实例例如:

指定用户访问,设置访问密码,指定访问主机.

① 设置访问单个数据库权限

01.mysql>grant all privileges on test.* to 'root'@'%';(说明:设置用户名为root,密码为空,可访问数据库test)

②设置访问全部数据库权限

01.mysql>grant all privileges on *.* to 'root'@'%';(说明:设置用户名为root,密码为空,可访问所有数据库*)

③设置指定用户名访问权限

01.mysql>grant all privileges on *.* to 'lanping'@'%';(说明:设置指定用户名为 lanping,密码为空,可访问所有数据库*)

④设置密码访问权限

01.mysql>grant all privileges on *.* to 'lanping'@'%' IDENTIFIED BY ' lanping';(说明:设置指定用户名为 lanping,密码为 lanping,可访问所有数据库*)

⑤设置指定可访问主机权限

01.mysql>grant all privileges on *.* to ' lanping '@'10.2.1.11';说明:设置指定用户名为 lanping ,可访问所有数据库*,只有127.0.0.1这台机器有权限访问

REVOKE

REVOKE和作用和GRANT相反,语法格式为:REVOKE privileges ON 数据库名[.表名] FROM user_name

例如:创建用户Bob,密码为“bob”,但不给他任何权限:

GRANT usage on * to Bob identified by ’bob’;

授予Bob在books数据库中的查询和插入权限:

GRANT select, insert on books.* to  Bob;

取消Bob在books数据库中的所有权限:

REVOKE all on books.* from Bob;

注:需要指出的是,REVOKE all...仅仅是回收用户的权限,并不删除用户,在MySQL中,用户信息存放在mysql.User中,MySQL可以通过DROP USER来彻底删除一个用户,其用法为:

DROP USER user_name; 

例如,要删除用户Bob,可以用:DROP USER Bob;

Tags: mysql权限 mysql参数

分享到: