1. MySQL 赋予用户权限命令的简单格式可概括为:
  2.   grant 权限 on 数据库对象 to 用户  
  3. 一、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@'%'
  1. 或者,用一条 MySQL 命令来替代:
  2.   grant select, insert, update, delete on testdb.* to common_user@'%'  
  3.  
  4. 二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数等权限
  5.  
  6. 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.%';
  1. grant 操作 MySQL 外键权限:

  2.   grant references on testdb.* to developer@'192.168.0.%';  
  3. grant 操作 MySQL 临时表权限:
  4.  
  5.   grant create temporary tables on testdb.* to developer@'192.168.0.%';  
  6. grant 操作 MySQL 索引权限:
  7.  
  8.   grant index on testdb.* to developer@'192.168.0.%';  
  9. grant 操作 MySQL 视图、查看视图源代码权限:
  1. grant create view on testdb.* to developer@'192.168.0.%';
  2. grant show view on testdb.* to developer@'192.168.0.%';
  1. 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.%';
  1. 三、grant 普通 DBA 管理某个 MySQL 数据库的权限
  2.  
  3.   grant all privileges on testdb to dba@'localhost'  
  4.  
  5. 其中,关键字 privileges 可以省略。
  6. 四、grant 高级 DBA 管理 MySQL 中所有数据库的权限
  7.  
  8.   grant all on *.* to dba@'localhost'  
  9. 五、MySQL grant 权限,分别可以作用在多个层次上
  10.  
  11. 1. grant 作用在整个 MySQL 服务器上:
  1. grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
  2. grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
  1. 2. grant 作用在单个数据库上:
  1. grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
  1. 3. grant 作用在单个数据表上:
  1. grant select, insert, update, delete on testdb.orders to dba@localhost;
  1. 这里在给一个用户授权多张表时,可以多次执行以上语句。例如:
  1. grant select(user_id,username) on smp.users to mo_user@'%' identified by '';
  2. grant select on smp.mo_sms to mo_user@'%' identified by '';
  1. 4. grant 作用在表中的列上:
  1. grant select(id, se, rank) on testdb.apache_log to dba@localhost;
  1. 5. grant 作用在存储过程、函数上:
  1. grant execute on procedure testdb.pr_add to 'dba'@'localhost'
  2. grant execute on function testdb.fn_add to 'dba'@'localhost'
  1. 六、查看 MySQL 用户权限
  2.  
  3. 查看当前用户(自己)权限:
  1. show grants;
  1. 查看其他 MySQL 用户权限:
  1. show grants for dba@localhost;
  1. 七、撤销已经赋予给 MySQL 用户权限的权限。
  2.  
  3. revoke grant 的语法差不多,只需要把关键字 to 换成 from 即可:
  1. grant all on *.* to dba@localhost;
  2. revoke all on *.* from dba@localhost;

  1. 八、MySQL grantrevoke 用户权限注意事项
  2.  
  3. 1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
  4.  
  5. 2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 grant option
  1. grant select on testdb.* to dba@localhost with grant option;
  1. 这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。
  2.  
  3. 补充:
  4. mysql授权表共有5个表:userdbhosttables_privcolumns_priv
  5.  
  6. 授权表的内容有如下用途:
  7. user
  8. user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。
  9.  
  10. db
  11. db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。
  12.  
  13. host
  14. host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANTREVOKE语句的影响,所以,你可能发觉你根本不是用它。
  15.  
  16. tables_priv
  17. tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。
  18.  
  19. columns_priv
  20. columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。
  21.  
  22. 转载请注明:http://www.cnblogs.com/fnlingnzb-learner/p/5833337.html

MySQL中授权(grant)和撤销授权(revoke的更多相关文章

  1. Mysql中如何创建、删除授权用户

    在mysql数据库下使用create user创建新用户,例如: 新创建后的用户没有任何授权.使用grant命令授权xushouwei访问数据库databaseweb下的所有表,密码为xsw12345 ...

  2. mysql5.7创建用户授权删除用户撤销授权

    一, 创建用户: 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - ...

  3. mysql授权用户,撤销用户,撤销权限基本操作

    进入mysql库 use mysql; mysql> select host,user from user; +-----------+---------------+ | host | use ...

  4. MySQL中用户授权/删除授权的方法

    用户授权方法 你可以通过发出GRANT语句增加新用户:  代码如下 复制代码 shell> mysql --user=root mysql mysql> GRANT ALL PRIVILE ...

  5. mysql授权grant

    本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删 ...

  6. 一、TCL事务控制语言 二、MySQL中的约束 三、多表查询(重点) 四、用户的创建和授权 五、MySQL中的索引

    一.TCL事务控制语言###<1>事务的概念 事务是访问并可能更新数据库中各种数据项的执行单元. 事务是一条SQL语句,一组SQL语句,或者整个程序. 事务是恢复和并发控制的基本单位. 事 ...

  7. MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

    1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Passw ...

  8. Mysql授权GRANT ALL PRIVILEGES

    1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...

  9. MySql中创建用户,授权

    第一天搞MySql好多东西都不会,幸好有网络的强大资源,首先需要注意的是任何一条sql语句都是要以分号结尾的,不然很是蛋疼的 1.新建用户. //登录MYSQL @>mysql -u root  ...

随机推荐

  1. .Net培训班课程体系

    .Net培训 第一部分:.Net基础 .Net基础:数据类型.变量.运算符.分支结构.循环结构.方法.反编译器.递归.递归算法的非递归优化: 面向对象:异常.封装继承多态.单例模式.装饰者设计模式.t ...

  2. java考试感受

    开学不久,我们进行了一次java程序考试.在此之前,老师要求我们在假期自学java并提前发了一个考试样卷,要求用数组编写一个学生信息管理系统并能够实现一系列的功能.由于我早早的便完成了这道题.因此对这 ...

  3. yaml,json,ini这三种格式用来做配置文件优缺点

    适合人类编写:ini > toml > yaml > json > xml > plist可以存储的数据复杂度:xml > yaml > toml ~ jso ...

  4. 怎么用fiddler抓APP的包

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/liujingqiu/article/details/79387909Fiddler安装 此处略.我们 ...

  5. 菜鸟如何学习vue

    作为一个前端菜鸟,最近开始接触和学习vue. 以前用到的是bootstrap前端框架. Bootstrap,来自 Twitter,是目前最受欢迎的前端框架. Bootstrap 是基于 HTML.CS ...

  6. RedHat6.5如何被windows系统远程桌面连接

    一.redhat 6.5远程桌面配置 服务器端: 1.设置允许其它人查看您的远程桌面 在“系统”-“首选项”-“远程桌面”-在“允许其它人查看您的远程桌面”前打勾:在“允许其它用户控制您的桌面”打勾 ...

  7. 修改postfix smtp端口,防止公网扫描浪费你的服务器流量

    邮件服务器的默认发送邮件端口是25,一些ISP会封锁25端口防止垃圾邮件的发送,这样就导致不能使用Foxmail.outlook等邮件客户端发送邮件.修改默认smtp端口就可以解决这个问题.下面的方法 ...

  8. sql语句事务

    set xact_abort on begin tran ... commit tran

  9. Oracle事务隔离级别处理差异

    Oracle事务隔离是事务读操作不同程度的数据隔离,分为READ_UNCOMMITTED.READ_COMMITTED(默认).SERIALIZABLE. Oracle事务隔离级别SERIALIZAB ...

  10. PAT 乙级 1043 输出PATest(20) C++版

    1043. 输出PATest(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000 ...