带您深入了解MySQL用户权限

数据库 MySQL
MySQL用户根据级别不用,权限也不太一样,下面就为您介绍有关MySQL用户权限级别相关的知识,供您参考学习。

MySQL用户权限根据用户的级别不同,权限级别也有所不同, 下面就为您介绍一些MySQL用户权限相关方面的知识,希望可以让您对MySQL用户权限有更深的认识。

你可以授权不同级别的MySQL用户权限,全局权限是最强大的,因为它们适用于任何数据库。要使ethel成为可做任何事情的超级用户,包括能授权给其它用户,发出下列语句:

GRANT ALL ON *.* TO ethel@localhost IDENTIFIED BY "coffee" WITH GRANT OPTION

ON子句中的*.*意味着“所有数据库、所有表”。从安全考虑,我们指定ethel只能从本地连接。限制一个超级用户可以连接的主机通常是明智的,因为它限制了试图破解口令的主机。

有些MySQL用户权限(FILE、PROCESS、RELOAD和SHUTDOWN)是管理权限并且只能用"ON *.*"全局权限指定符授权。如果你愿意,你可以授权这些权限,而不授权数据库权限。例如,下列语句设置一个flush用户,他只能发出flush语句。 这可能在你需要执行诸如清空日志等的管理脚本中会有用:
GRANT RELOAD ON *.* TO flushl@localhost IDENTIFIED BY "flushpass"

一般地,你想授权管理MySQL用户权限,吝啬点,因为拥有它们的用户可以影响你的服务器的操作。
数据库级权限适用于一个特定数据库中的所有表,它们可通过使用ON db_name.*子句授予:

GRANT ALL ON samp_db TO bill@racer.snake.net INDETIFIED BY "rock" GRANT Select ON samp_db TO ro_user@% INDETIFIED BY "rock"

第一条语句向bill授权samp_db数据库中所有表的权限,第二条创建一个严格限制访问的用户ro_user(只读用户),只能访问samp_db数据库中的所有表,但只有读取,即用户只能发出Select语句。


你可以列出一系列同时授予的各个MySQL用户权限。例如,如果你想让用户能读取并能修改现有数据库的内容,但不能创建新表或删除表,如下授予这些权限:
GRANT Select,Insert,Delete,Update ON samp_db TO bill@snake.net INDETIFIED BY "rock"

对于更精致的访问控制,你可以在各个表上授权,或甚至在表的每个列上。当你想向用户隐藏一个表的部分时,或你想让一个用户只能修改特定的列时,列特定权限非常有用。如:

GRANT Select ON samp_db.member TO bill@localhost INDETIFIED BY "rock"
GRANT Update (expiration) ON samp_db. member TO bill@localhost
第一条语句授予对整个member表的读权限并设置了一个口令,第二条语句增加了Update权限,当只对expiration列。没必要再指定口令,因为第一条语句已经指定了。
如果你想对多个列授予权限,指定一个用逗号分开的列表。例如,对assistant用户增加member表的地址字段的Update权限,使用如下语句,新权限将加到用户已有的权限中:
GRANT Update (street,city,state,zip) ON samp_db TO assistant@localhost

 

 

【编辑推荐】

MySQL用户权限设置方法

使用MySQL命令行备份及恢复数据库

MySQL重复记录的处理方法

教您如何MySql查询时间段

用MySQL临时表加速查询

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

2010-10-12 15:30:04

MySQL权限管理

2010-10-14 11:33:42

MySQL用户

2017-10-31 11:30:22

数据库MySQL权限管理

2010-10-28 10:19:29

oracle权限管理

2010-10-15 11:27:21

Mysql临时表

2010-10-15 15:32:06

Mysql外部锁定

2010-11-22 11:09:00

MySQL索引类型

2010-10-11 16:45:18

MySQL ifnul

2010-10-09 14:08:52

MYSQL Cast函

2010-10-19 13:26:45

SQL Server事

2010-10-29 10:04:27

2010-11-11 13:39:57

SQL连接查询

2010-09-28 10:46:39

sql字段类型

2010-11-01 15:06:52

MYSQL字符串连接

2010-10-29 14:57:12

Oracle归档模式

2010-10-27 15:58:01

Oracle临时表

2010-10-26 11:28:33

ORACLE运行方式

2010-10-09 10:49:07

MySQL默认字符集

2010-09-27 11:29:36

SQL全文索引

2010-11-19 15:53:28

oracle管理表空间
点赞
收藏

51CTO技术栈公众号