首页 > 代码库 > 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 市集
- usage
- select
- create
- create routine
- create temporary tables
- create view
- create user
- insert
- alter
- alter routine
- update
- delete
- drop
- show database
- show view
- index(创建引用)
- execute
- lock tables
- references
- reload(flush等操作)
- replication client
- replication slave
- shutdown
- grant option
- file
- super
- 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