MySQL授权表使用示例

数据库 MySQL
MySQL数据库中,grant用于给增加用户和创建权限,revoke用于删除用户权限,下文对授权表进行了举例说明,希望对您能有所启迪。

在我们使用MySQL数据库的过程中,经常会遇到MySQL授权表,下面就为您举例说明MySQL授权表的用法,供您参考学习之用。

MySQL授权表使用举例

grant用于给增加用户和创建权限,revoke用于删除用户权限。
下面是一些用grant增加用户和创建权限的例子:

mysql> grant all privileges on *.* to test@localhost identified by 'test' with grant option;
这句增加一个本地具有所有权限的test用户(超级用户),密码是test。ON子句中的*.*意味着"所有数据库、所有表"。with grant option表示它具有grant权限。

mysql> grant select,insert,update,delete,create,drop privileges on test.* to test1@'192.168.1.0/255.255.255.0' identified by 'test';
这句是增加了一个test1用户,口令是test,但是它只能从C类子网192.168.1连接,对test库有select,insert,update,delete,create,drop操作权限。
用grant语句创建权限是不需要再手工刷新授权表的,因为它已经自动刷新了。
给用户创建权限还可以通过直接修改授权表:

mysql> insert into user
values("localhost","test",password("test"),"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y");
mysql> flush privileges;
这两句和上面***句grant的效果是一样的,也是增加了一个本地的test超级用户。我们看到用grant方便多了,而且还不需flush privileges。
m
ysql> insert into user (host,user,password) values("192.168.1.0/255.255.255.0","test1",PASSWORD("test")); mysql> insert into db values("192.168.1.0/255.255.255.0","test","test1","Y","Y","Y","Y","Y","Y","N","N","N","N") mysql> flush privileges;
这三句和上面第二句grant的效果也是一样的,也是增加了一个只能从C类子网192.168.1连接,对test库有 select,insert,update,delete,create,drop操作权限的test1用户,口令是test。要取消一个用户的权限,使用revoke语句。revoke的语法非常类似于grant语句,除了to用from取代并且没有identified by和with grant option子句,下面是用revoke删除用户权限的例子:

mysql> revoke all on test.* from test1@'192.168.1.0/255.255.255.0';
这句revoke就撤消了上面第二句grant创建的权限,但是test1用户并没有被删除,必须手工从user表删除:
mysql> delete from user where user='test1';
mysql> flush privileges;
这样,test1用户就彻底删除了。
这些只是MySQL授权表的简单使用,更多详细的资料请见MySQL提供的手册。

 

 

【编辑推荐】

MySQL独立表空间的优缺点

mysql数据库大小写的问题讨论

MySQL MyISAM表结构的恢复

MySQL多表联合查询语法示例

MySQL表别名的另类用法

 

责任编辑:段燃 来源: 互联网
相关推荐

2010-10-15 15:46:09

MySQL授权系统

2010-05-18 16:29:44

MySQL修改表

2010-05-19 09:01:14

MySQL临时表

2010-05-26 09:44:41

MySQL数据库使用

2011-03-15 16:03:32

MySQL授权表服务器

2010-10-08 15:54:34

mysql中case

2010-06-09 10:35:36

MySQL使用管理命令

2023-01-09 09:08:57

GrantMySQL

2011-08-16 13:59:42

MySQL初学者表的操作

2010-09-06 16:52:17

SQL函数

2009-10-20 18:30:03

Oracle查找用户表

2010-06-10 13:42:51

MySQL数据库

2010-05-17 16:31:48

Mysql临时表

2010-10-13 16:25:44

MySQL临时表

2010-11-22 16:51:10

MySQL内存表

2010-11-22 16:12:54

MySQL多表更新

2010-05-27 15:18:47

MySQL连接

2010-04-15 14:39:56

Oracle创建表空间

2010-04-23 17:20:34

Oracle创建

2012-02-23 10:28:12

MySQL
点赞
收藏

51CTO技术栈公众号