MySQL:grant 语法详解(MySQL5.X)

MySQL:grant 语法详解(MySQL5.X),第1张

本文实例,运行于MySQL5.0

及以上版本。

MySQL

赋予用户权限命令的简单格式可概括为:

grant

权限on

数据库对象to

用户

一、grant

普通数据用户,查询、插入、更新、删除数据库中所有表数据的权利。

grant

select

on

testdb.*

to

common_user@'%'

grant

insert

on

testdb.*

to

common_user@'%'

grant

update

on

testdb.*

to

common_user@'%'

grant

delete

on

testdb.*

to

common_user@'%'

或者,用一条MySQL

命令来替代:

grant

select,

insert,

update,

delete

on

testdb.*

to

common_user@'%'

二、grant

数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

grant

创建、修改、删除MySQL

数据表结构权限。

grant

create

on

testdb.*

to

developer@'192.168.0.%'

grant

alter

on

testdb.*

to

developer@'192.168.0.%'

grant

drop

on

testdb.*

to

developer@'192.168.0.%'

grant

*** 作MySQL

外键权限。

grant

references

on

testdb.*

to

developer@'192.168.0.%'

grant

*** 作MySQL

临时表权限。

grant

create

temporary

tables

on

testdb.*

to

developer@'192.168.0.%'

grant

*** 作MySQL

索引权限。

grant

index

on

testdb.*

to

developer@'192.168.0.%'

grant

*** 作MySQL

视图、查看视图源代码权限。

grant

create

view

on

testdb.*

to

developer@'192.168.0.%'

grant

show

view

on

testdb.*

to

developer@'192.168.0.%'

grant

*** 作MySQL

存储过程、函数权限。

grant

create

routine

on

testdb.*

to

developer@'192.168.0.%'

--

now,

can

show

procedure

status

grant

alter

routine

on

testdb.*

to

developer@'192.168.0.%'

--

now,

you

can

drop

a

procedure

grant

execute

on

testdb.*

to

developer@'192.168.0.%'

三、grant

普通DBA

管理某个MySQL

数据库的权限。

grant

all

privileges

on

testdb

to

dba@'localhost'

其中,关键字“privileges”

可以省略。

四、grant

高级DBA

管理MySQL

中所有数据库的权限。

grant

all

on

*.*

to

dba@'localhost'

五、MySQLgrant

权限,分别可以作用在多个层次上。

1.

grant

作用在整个MySQL

服务器上:

grant

select

on

*.*

to

dba@localhost

--

dba

可以查询MySQL

中所有数据库中的表。

grant

all

on

*.*

to

dba@localhost

--

dba

可以管理MySQL

中的所有数据库

2.

grant

作用在单个数据库上:

grant

select

on

testdb.*

to

dba@localhost

--

dba

可以查询testdb

中的表。

3.

grant

作用在单个数据表上:

grant

select,

insert,

update,

delete

on

testdb.orders

to

dba@localhost

4.

grant

作用在表中的列上:

grant

select(id,

se,

rank)

on

testdb.apache_log

to

dba@localhost

5.

grant

作用在存储过程、函数上:

grant

execute

on

procedure

testdb.pr_add

to

'dba'@'localhost'

grant

execute

on

function

testdb.fn_add

to

'dba'@'localhost'

六、查看MySQL

用户权限

查看当前用户(自己)权限:

show

grants

查看其他MySQL

用户权限:

show

grants

for

dba@localhost

七、撤销已经赋予给MySQL

用户权限的权限。

revoke

跟grant

的语法差不多,只需要把关键字“to”

换成“from”

即可:

grant

all

on

*.*

to

dba@localhost

revoke

all

on

*.*

from

dba@localhost

八、MySQLgrant、revoke

用户权限注意事项

1.

grant,

revoke

用户权限后,该用户只有重新连接MySQL

数据库,权限才能生效。

2.

如果想让授权的用户,也可以将这些权限grant

给其他用户,需要选项“grant

option“

grant

select

on

testdb.*

to

dba@localhost

with

grant

option

这个特性一般用不到。实际中,数据库权限最好由DBA

来统一管理。

请问有哪些好的mysql书籍推荐呢?

有两本书值得推荐:

《深入浅出MySQL》从数据库的基础、开发、优化、管理维护4个方面对MySQL进行了详细的介绍,其中每一部分都独立成篇。

基础篇主要适合于MySQL的初学者,内容包括MySQL的安装与配置、SQL基础、MySQL支持的数据类型、MySQL中的运算符、常用函数、图形化工具的使用等。

开发篇主要适合于MySQL的设计和开发人员,内容包括表类型(存储引擎)的选择、选择合适的数据类型、字符集、索引的设计和使用、视图、存储过程和函数、触发器、事务控制和锁定语句、SQL中的安全问题、SQL Mode及相关问题等。

优化篇主要适合于开发人员和数据库管理员,内容包括常用SQL技巧和常见问题、SQL优化、优化数据库对象、锁问题、优化 MySQL Server、磁盘I/O问题、应用优化等。

管理维护篇主要适合于数据库管理员,内容包括MySQL高级安装和升级、MySQL中的常用工具、MySQL 日志、备份与恢复、MySQL权限与安全、MySQL复制、MySQL Cluster、MySQL常见问题和应用技巧等。

《高性能MySQL(第2版)》荣获2009年Jolt图书大奖,是不可多得的分享MySQL实用经验的图书。它不但可以帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径。《高性能MySQL(第2版)》包含14章和4个附录,内容覆盖MySQL系统架构、设计应用技巧、SQL语句优化、服务器性能调优、系统配置管理和安全设置、监控分析,以及复制、扩展和备份/还原等主题,每一章的内容自成体系,适合各领域技术人员作选择性的阅读。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存