MySQL的权限有哪些

MySQL的权限有哪些,第1张

1. usage

连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。

mysql>grant usage on *.* to ‘p1′@’localhost’ identified by ‘123′

该权限只能用于数据库登陆,不能执行任何 *** 作;且usage权限不能被回收,也即REVOKE用户并不能删除用户。

2. select

必须有select的权限,才可以使用select table

mysql>grant select on pyt.* to ‘p1′@’localhost’

mysql>select * from shop

3. create

必须有create的权限,才可以使用create table

mysql>grant create on pyt.* to ‘p1′@’localhost’

4. create routine

必须具有create routine的权限,才可以使用{create |alter|drop} {procedure|function}

mysql>grant create routine on pyt.* to ‘p1′@’localhost’

查看MySQL用户权限:

show grants for 你的用户比如:

show grants for root@'localhost'Grant 用法GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*C242DDD213BE9C6F8DA28D49245BF69FC79A86EB'

GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost'

我先按我的理解解释一下上面两句的意思

建立一个只可以在本地登陆的 不能 *** 作的用用户名 discuz 密码为 ***** 已经加密了的

然后第二句的意思是 ,给这个discuz用户 *** 作discuz数据库的所有权限使用GRANTGRANT命令用来建立新用户,指定用户口令并增加用户权限。其格式如下:

mysql GRANT <privileges ON <what

- TO <user [IDENTIFIED BY <password]

- [WITH GRANT OPTION]

正如你看到的源码天空

,在这个命令中有许多待填的内容。让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。

<privileges是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型:

数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。

Create: 建立新的数据库或数据表。

Delete: 删除表的记录。

Drop: 删除数据表或数据库。

INDEX: 建立或删除索引。

Insert: 增加表的记录。

Select: 显示/搜索表的记录。

Update: 修改表中已存在的记录。

全局管理MySQL用户权限:

file: 在MySQL服务器上读写文件。

PROCESS: 显示或杀死属于其它用户的服务线程。

RELOAD: 重载访问控制表,刷新日志等。

SHUTDOWN: 关闭MySQL服务。

特别的权限:

ALL: 允许做任何事(和root一样)。

官方对usage的解释:

USAGE “无权限”的同义词

当您想要创建一个没有权限的用户时,可以指定USAGE。

要看自己有哪些权限,执行SQL: SHOW GRANTS

在我的数据库下有一下几行:

GRANT ALL PRIVILEGES ON `everalan`.* TO 'everalan'@'%' WITH GRANT OPTION

可以看出,不知USAGE一种权限,所以,你才会正常的执行查删等 *** 作

usage的字面意思就是用法,其实就是让你这个用户可以像个用户似的登录,但是除了能看到有那写数据库外,什么权限也没有


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8584939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存