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

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

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

grantselectontestdb.*tocommon_user@'%'grantinsertontestdb.*tocommon_user@'%'grantupdateontestdb.*tocommon_user@'%'grantdeleteontestdb.*tocommon_user@'%'

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

grantselect,insert,update,deleteontestdb.*tocommon_user@'%'

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

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

grantcreateontestdb.*todeveloper@'192.168.0.%';grantalterontestdb.*todeveloper@'192.168.0.%';grantdropontestdb.*todeveloper@'192.168.0.%';

grant 操作 MySQL 外键权限。

grantreferencesontestdb.*todeveloper@'192.168.0.%';

grant 操作 MySQL 临时表权限。

grantcreatetemporarytablesontestdb.*todeveloper@'192.168.0.%';

grant 操作 MySQL 索引权限。

grantindexontestdb.*todeveloper@'192.168.0.%';

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

grantcreateviewontestdb.*todeveloper@'192.168.0.%';grantshowviewontestdb.*todeveloper@'192.168.0.%';

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

grantcreateroutineontestdb.*todeveloper@'192.168.0.%';--now, can show procedure statusgrantalterroutineontestdb.*todeveloper@'192.168.0.%';--now, you can drop a proceduregrantexecuteontestdb.*todeveloper@'192.168.0.%';

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

grantallprivilegesontestdbtodba@'localhost'

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

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。

grantallon*.*todba@'localhost'

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

1. grant 作用在整个 MySQL 服务器上:

grantselecton*.*todba@localhost;--dba 可以查询 MySQL 中所有数据库中的表。grantallon*.*todba@localhost;--dba 可以管理 MySQL 中的所有数据库

2. grant 作用在单个数据库上:

grantselectontestdb.*todba@localhost;--dba 可以查询 testdb 中的表。

3. grant 作用在单个数据表上:

grantselect,insert,update,deleteontestdb.orderstodba@localhost;

这里在给一个用户授权多张表时,可以多次执行以上语句。例如:

grantselect(user_id,username)onsmp.userstomo_user@'%'identifiedby'123345';grantselectonsmp.mo_smstomo_user@'%'identifiedby'123345';

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

grantselect(id, se, rank)ontestdb.apache_logtodba@localhost;

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

grantexecuteonproceduretestdb.pr_addto'dba'@'localhost'grantexecuteonfunctiontestdb.fn_addto'dba'@'localhost'

六、查看 MySQL 用户权限

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

show grants;

查看其他 MySQL 用户权限:

show grantsfordba@localhost;

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

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

grantallon*.*todba@localhost;revokeallon*.*fromdba@localhost;

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

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

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

grantselectontestdb.*todba@localhostwithgrantoption;

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

mysql grant select()_[MySQL] - MySQL的Grant命令相关推荐

  1. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  2. mysql sum 慢_故障分析 | MySQL 优化案例 - select count(*)

    作者:xuty 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 本文关键字:count.SQL.二级索引 一.故事背景 项目组联系我说是有一张 50 ...

  3. 查询mysql版本好_查询mysql版本(select查mysql版本)

    查询mysql版本(select查mysql版本) 2020-07-24 11:32:47 共10个回答 1.通过mysql的-V参数查询版本信息mysql-V2.登录mysql时可以查询版本信息my ...

  4. 怎么在linux下用mysql建库_在MySQL/MariaDB中创建数据库、数据库用户和授予特权(针对Linux平台)...

    在本文中,将学习MySQL/MariaDB数据库创建.数据库用户创建以及如何向用户授予权限,方法针对Linux平台.安装数据库请参考为CentOS 8操作系统安装MySQL的方法,以安装MySQL 8 ...

  5. mysql 实例名_不为人知的MySQL高可用复制管理工具——Orchestrator简介

    背景 在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:O ...

  6. mysql dos入门_【Mysql】初学命令行指南

    MYSQL初学者使用指南与介绍 一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbi ...

  7. mysql binlog跟踪_在MySQL中使用init-connect与binlog来实现用户操作追踪记录

    在MySQL中使用init-connect与binlog来实现用户操作追踪记录 分类: MySQL 前言: 测试环境莫名其妙有几条重要数据被删除了,由于在binlog里面只看到是公用账号删除的,无法查 ...

  8. mysql routine 权限_关于mysql create routine 权限的一些说明

    1.如果用户有create routine 权限那么他就可以创建procedure | function . 2.如果用户创建了procedure | function 那么mysql 会自动赋予它对 ...

  9. mysql 允许远程_配置mysql允许远程连接的方法

    默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件. 一.修改/etc/mysql/my.conf 找到bind-address = 127. ...

最新文章

  1. 用于精确导航和场景重建的 3D 配准方法(ICRA 2021)
  2. mysql slave 配置_【mysql5.6】 数据库主从(Master/Slave)配置记录
  3. Thymeleaf 中js 使用等报错问题
  4. 字段缩写ti表示什么_【滴水研究】解码TI(一)
  5. 零基础自学python教程-零基础人员可以学习python吗?|Python培训基础教程
  6. gdb 查看结构体地址内容_程序员的术与道:术——gdb基本操作
  7. [css] 你知道CSS中的字母“C“代表什么吗?
  8. 信息学奥赛C++语言: 判决素数个数
  9. php-fpm配置文件,指定session保存目录
  10. 一个基本的spring+mybatis所需要的包
  11. perl统计http日志ip
  12. R︱Yandex的梯度提升CatBoost 算法(官方述:超越XGBoost/lightGBM/h2o)
  13. 调用wsdl的接口-用axis
  14. 巧妙设置excel透明字体
  15. linux中iso源码解压_linux下解压iso镜像文件方法
  16. 阿里云数据库设置ip白名单连接正式库详细步骤
  17. Mac答疑「7」超详细mac新手教程-Mac界面篇
  18. 再次登顶GitHub,阿里内网首次自曝炫彩版微服务响应式与K8S手册
  19. linux查看并安装字体
  20. 【HTCVR】VRTK插件案例分析之001~010

热门文章

  1. SAP所有模块用户出口(转)
  2. WebDAV将会在公共领域取代FTP
  3. 一起学英语第三期,things change,people change
  4. 今日学习的关于笔记本电脑和origin绘图的一些
  5. NFT Insider #65:韩国娱乐业巨头CJ ENM与The Sandbox达成合作,YGG 建立巴西社区的SubDAO
  6. centos安装python3.X,系统默认2.7.5
  7. JavaScript:原生JS实现Facebook实时消息抓捕
  8. MongoDB之查询文档
  9. 什么是css Hack
  10. 外网访问redis cluster的大坑