首页 > 代码库 > MySQL权限操作:Grant、Revoke

MySQL权限操作:Grant、Revoke

数据库操作:

创建数据库、创建表——CREATE

删除数据库、删除表——DROP

删除表内容——TRUNCATE、DELETE(后者效率低、一行一行地删除记录)

查询数据库、查询表——SELECT

插入、更新、删除——INSERT INTO、UPDATE、DELETE(上面有提到)

修改表——ALTER(添加、修改或删除列)

 

MySQL各种权限(27种):参考http://www.cnblogs.com/subsir/articles/2568361.html by 市集

  1. usage
  2. select
  3. create
  4. create routine
  5. create temporary tables
  6. create view
  7. create user
  8. insert
  9. alter
  10. alter routine
  11. update
  12. delete
  13. drop
  14. show database
  15. show view
  16. index(创建引用)
  17. execute
  18. lock tables
  19. references
  20. reload(flush等操作)
  21. replication client
  22. replication slave
  23. shutdown
  24. grant option
  25. file
  26. super
  27. process

指定所有权限:all privileges

 

=========

授权命令:grant

grant 权限 on 数据库对象 to 用户 [IDENTIFIED BY ‘PASSWORD‘];

 

撤权命令:revoke

revoke 权限 on 数据库对象 from 用户;

=========

 

说明:

1.权限

前面的27种权限,以及all privileges,共28个关键词。

前面27中权限的关键词可以通过逗号连接起来授权:

grant select, insert, update, delete on ...

2.数据库对象

数据库名称 + 英文句号 + 表名称

比如 test.person表示的数据库对象为test数据库下的person表。

数据库名称、表名称可以使用星号(*)替代,表示所有,比如*.*表示所有数据库对象。

注意:测试发现数据库对象无法像权限一样用逗号(,)连接。

3.用户

用户名+主机名

比如,user@localhost,表示从本机访问数据库的名为user账号。

主机名可以用通配符%,比如:172.18.10.%(IP地址为172.18.10段的所有IP地址都可以访问)

4.IDENTIFIED BY

可选内容。

表示这个授权需要的密码。

5.其它可选项(参考:http://blog.csdn.net/haiross/article/details/51251571 by haiross)

[WITH GRANT OPTION]

MAX_QUERIES_PER_HOUR count

MAX_UPDATES_PER_HOUR count

MAX_CONNECTIONS_PER_HOUR count

MAX_USER_CONNECTIONS count

 

关于创建MySQL用户:

1.CREATE USER

此方式创建后,还需要后续通过grant授权。

2.grant

这种方式创建用户后,用户就具备一定的权限了。

喜欢这种方式。

 3.INSERT INTO mysql.user表(试验过,但添加失败)

 

关于删除MySQL用户:

DROP USER 用户名@主机名;

MySQL权限操作:Grant、Revoke