`
shuany
  • 浏览: 253938 次
  • 性别: Icon_minigender_1
  • 来自: 中国
社区版块
存档分类
最新评论

MySQL grant 语法的详细解析

阅读更多

以下的文章是MySQL grant 语法的详细解析,如果你对MySQL grant 语法的相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。我们大家都知道MySQL数据库赋予用户权限命令的简单格式可概括为:

grant 权限 on 数据库对象 to 用户

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

  1. grant select on testdb.* to common_user@'%'  
  2. grant insert on testdb.* to common_user@'%'  
  3. grant update on testdb.* to common_user@'%'  
  4. grant delete on testdb.* to common_user@'%' 

或者,用一条 MySQL 命令来替代:

  1. grant select, insert, update, delete on testdb.* to common_user@'%' 

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

grant 创建、修改、删除 MySQL 数据表结构权限。

  1. grant create on testdb.* to developer@'192.168.0.%';  
  2. grant alter on testdb.* to developer@'192.168.0.%';  
  3. grant drop on testdb.* to developer@'192.168.0.%'; 

MySQLgrant 操作 MySQL 外键权限。

grant references on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 临时表权限。

grant create temporary tables on testdb.* to

grant 操作 MySQL 索引权限。

grant index on testdb.* to

grant 操作 MySQL 视图、查看视图源代码 权限。

  1. grant create view on testdb.* to developer@'192.168.0.%';  
  2. grant show view on testdb.* to developer@'192.168.0.%'; 

grant 操作 MySQL 存储过程、函数 权限。

  1. grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status  
  2. grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure  
  3. grant execute on testdb.* to developer@'192.168.0.%'; 

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。

MySQLgrant all privileges on testdb to

其中,关键字 “privileges” 可以省略。

  1. grant execute on procedure testdb.pr_add to 'dba'@'localhost'  
  2. grant execute on function testdb.fn_add to 'dba'@'localhost'  
  3. grant all on *.* to dba@'localhost' 

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

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

4. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to

5.MySQL grant 作用在存储过程、函数上:

  1. grant execute on procedure testdb.pr_add to 'dba'@'localhost'  
  2. grant execute on function testdb.fn_add to 'dba'@'localhost' 

六、查看 MySQL 用户权限

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

show grants;

查看其他 MySQL 用户权限:

show grants for dba@localhost ;

七、撤销已经赋予给 MySQL 用户权限的权限。

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

  1. grant all on *.* to dba@localhost;  
  2. revoke all on *.* from dba@localhost; 

八、MySQL grant、revoke 用户权限注意事项

1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

2. 如果想让授权的用户,也可以将这些权限 MySQLgrant 给其他用户,需要选项 “grant option“

grant select on testdb.* to dba@localhost with grant option;

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

分享到:
评论

相关推荐

    MySQL50道练习题.zip

    2. **查询语法**:题目可能会涉及SELECT语句的使用,包括选择特定列、过滤行、排序结果、分组数据和聚合函数(如COUNT、SUM、AVG、MAX、MIN)。你将学习到`WHERE`、`ORDER BY`、`GROUP BY`和`HAVING`子句。 3. **...

    10个mysql基础语句解析及基础用法介绍.docx

    ### MySQL基础语句解析及基础用法介绍 #### 一、概述 MySQL 是一款非常流行的开源关系型数据库管理系统,广泛应用于各种规模的企业和个人项目中。SQL(Structured Query Language,结构化查询语言)作为与MySQL...

    Mysql 5.5.62数据库源码

    4. **优化器**:MySQL的查询优化器是解析和执行SQL语句的关键组件。5.5.62版的优化器进行了改进,能更智能地选择执行计划,考虑索引、统计信息等因素,以提高查询效率。 5. **复制技术**:MySQL的主从复制功能允许...

    mysql查询语句大全珍藏版pdf

    ### MySQL查询语句大全珍藏版知识点解析 #### 一、基本操作命令 **1. 查找当前服务器上的所有数据库** - **命令**: `SHOW DATABASES;` - **功能**: 列出当前MySQL服务器上存在的所有数据库。 **2. 创建数据库** -...

    mysql命令,mysql -h主机地址 -u用户名 -p密码

    本文将基于给定的文件信息,深入解析MySQL命令行工具的常用命令及其应用场景。 #### 1. 连接MySQL服务器 连接MySQL服务器的基本语法是: ```bash mysql -h 主机地址 -u 用户名 -p[密码] ``` 其中,`-h` 参数后跟的...

    mysql迷你版本_windows上解压运行

    7. **权限管理**:理解MySQL的用户权限系统,包括GRANT和REVOKE命令,以控制不同用户对数据库的访问权限。 8. **日志管理**:查看错误日志(error.log)可以帮助诊断和解决运行时问题。了解如何配置和解析这些日志...

    shell创建mysql数据库

    下面将详细介绍如何利用shell脚本来创建MySQL数据库,并结合提供的文件进行解析。 首先,我们需要理解shell脚本的基本结构。一个基本的shell脚本通常包含变量声明、命令执行和控制结构(如if-else语句、for循环等)...

    mysql控制台

    3. **源码分析**:对于熟悉源码的用户,他们可能还会探讨MySQL的内部工作原理,比如查询解析、存储引擎、事务处理等,这有助于优化数据库性能或解决特定问题。 4. **数据库工具**:除了标准的MySQL控制台,还有许多...

    mysql5.1Manual.zip_MYSQL_MySQL 5.1_mySql chm_mysql 中文

    6. **安全与权限**:MySQL的用户管理和权限控制是重要的管理方面,手册会详细解析GRANT和REVOKE语句,以及如何设置和管理用户权限。 7. **备份与恢复**:为了防止数据丢失,MySQL提供多种备份策略,如mysqldump工具...

    mysql创建用户.txt

    以下将详细解析如何在MySQL中创建用户,并深入理解GRANT和REVOKE命令的使用,以及相关的权限设置。 ### 创建用户 在MySQL中创建用户的基本语法是: ```sql CREATE USER 'username'@'hostname'; ``` 其中,`...

    Mysql5.1官方简体中文手册(HTML格式)

    手册会详细解析INSERT、UPDATE、DELETE、SELECT等基础操作,以及JOIN、子查询、视图等高级查询技巧。 四、存储引擎 MySQL 5.1支持多种存储引擎,如InnoDB、MyISAM、MEMORY、BDB等。InnoDB提供事务处理和行级锁定,...

    逐步精通MySQL数据库

    此外,书中对MySQL的语法操作进行了深入浅出的解析,使得学习过程既易于理解,又能保证技术的专业性。 MySQL是一种广泛使用的开源关系型数据库管理系统,其性能优秀、稳定性强,是许多企业级应用的首选。在Windows...

    MySql+5.5版本中文手册

    MySQL 5.5是MySQL数据库管理系统的一个重要版本,它在前任版本的基础上引入了许多新特性...手册通常会包含详细的安装指南、配置参数解释、SQL语法解析、故障排查方法等,是数据库管理员和开发人员不可或缺的参考资料。

    mysql源码

    1. 解析器:MySQL接收到SQL语句后,首先通过解析器将字符串转换为抽象语法树(AST),进行语义检查和语法分析。 2. 查询优化器:解析后的查询会被查询优化器处理,选择最佳的执行计划,如决定使用索引、选择合适的...

    mysql安装文档

    /usr/local/percona/bin/mysql -u root -p mysql -e "grant all privileges on *.* to root@'localhost' identified by 'mysql' with grant option;" ``` - **清理权限表**:删除权限表中的空密码记录。 ```sh /...

    mysql6.0参考手册(英文版)

    手册将详细解析这些语法,确保用户能够编写正确的SQL语句进行数据库操作。 3. **表和数据类型**:手册会详细介绍MySQL中的数据类型,如整数、浮点数、字符串、日期时间等,以及如何创建、修改和删除表结构。 4. **...

    MySQL 轻快掌握 视频+ppt+代码+数据 全套

    2. **SQL基础**:讲解SQL语言的基本语法,包括创建、查询、更新和删除数据表。还会涉及SELECT语句、WHERE子句、JOIN操作和聚合函数如COUNT、SUM等。 3. **数据库设计**:讨论数据库范式、实体关系模型(ER模型)...

    MySQL 5.5中文参考手册

    2. **SQL语言**:MySQL支持标准的SQL语法,包括数据定义(DDL)、数据操纵(DML)、数据控制(DCL)和事务处理。手册会讲解如何创建、修改和删除数据库、表、视图,插入、更新和删除数据,以及使用SELECT语句进行...

    Mysql官方权威参考手册

    手册会详细解析InnoDB的工作原理和特性。 通过《MySQL官方权威参考手册》,读者不仅可以学习到MySQL的基础操作,还能深入理解其工作原理,掌握数据库设计和管理的高级技巧。对于任何想要在MySQL领域深化知识的人来...

    MySQL参考手册英文版

    2. **SQL语法**:MySQL支持标准的SQL语言,手册会详细解析SELECT、INSERT、UPDATE、DELETE等基本操作,以及JOIN、GROUP BY、HAVING、子查询等复杂查询语法。此外,还会涉及视图、存储过程、触发器和函数的使用。 3....

Global site tag (gtag.js) - Google Analytics