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@'%'

或者

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

cc

grant select, insert, update, delete on python.* to user@'%' IDENTIFIED BY '123456'

允许账户为root 密码为123456的用户 在所有IP段下 执行所有权限在所有库之下

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

二、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’

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

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

select on . to dba@localhost; — dba 可以查询 MySQL 中所有数据库中的表。

grant all on . to dba@localhost; — dba 可以管理 MySQL 中的所有数据库

grant 作用在单个数据库上:

select on testdb.* to dba@localhost; — dba 可以查询 testdb 中的表。

grant 作用在单个数据表上:

select, insert, update, delete on testdb.orders to dba@localhost;

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

grant select(user_id,username) on smp.users to mo_user@’%’ identified by ‘123345′;

grant select on smp.mo_sms to mo_user@’%’ identified by ‘123345′;

grant 作用在表中的列上:

select(id, se, rank) on testdb.apache_log to dba@localhost;

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 zhangkh@localhost;

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

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

grant all on . to dba@localhost;

revoke all on . from dba@localhost;

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

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

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

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

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

mysql授权表共有5个表:user、db、host、tables_priv和columns_priv。

授权表的内容有如下用途:

user表

user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。

db表

db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。

host表

host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,你可能发觉你根本不是用它。

tables_priv表

tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。

columns_priv表

columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。

注:

对于GRANT USAGE ON,查看手册有如下介绍和实例:

mysql> GRANT USAGE ON . TO ‘zhangkh’@'localhost’;

一个账户有用户名zhangkh,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为’N'。假定你将在以后将具体权限授予该账户。

mysql创建数据库error1044_Mysql创建数据库时提示Error 1044相关推荐

  1. Mysql创建数据库时提示Error 1044 Access denied for user 'sss'@localhost to database 'xxx'

    Mysql创建新的用户之后,想用新用户来创建新的数据库,有了这样的提示(拒绝被访问): 解决方法: 这个问题是因为mysql设置的权限问题.Mysql考虑到安全性,默认设置的权限是拒绝访问的,需要用户 ...

  2. mysql建库1044_Mysql创建数据库时提示Error 1044

    grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant select on testdb.* to common_ ...

  3. 在创建jsp页面之后保存时提示错误,并提示以UTF-8格式进行保存。

    在创建jsp页面之后保存时提示错误,并提示以UTF-8格式进行保存. Save could not be completed. Reason: some characters cannot be ma ...

  4. Jenkins中连接Git仓库时提示:error: The requested URL returned error: 401 Unauthorized while accessing

    场景 在Jenkins中新建任务后,在源码管理中选择Git,并且通过用户名和密码的 凭证方式连接到Git仓库时提示: error: The requested URL returned error: ...

  5. Mac cnpm装包时提示Error: EACCES: permission denied解决办法

    Cnpm装包时提示Error: EACCES: permission denied解决办法 2018年03月04日 09:31:51 miniminixu 阅读数:1598 版权声明:本文为博主原创文 ...

  6. (manjaro)linux系统启动时提示 ERROR:resume:hibernation device‘UUID=3f48c68c-4717-438e-aff6-26ac8f‘ not found

    情况说明 电脑上有两个manjaro系统,今天把另一个不用的删除后(删除的系统本来就是被引导的 ),然后我使用下面两个命令重新生成了grub. sudo update-grub sudo grub-i ...

  7. Navicat连接mysql时提示error:1130 hostxxx is not allowed to connect to this SQL server

    根据错误提示error:1130 host"xxx" is not allowed to connect to this SQL server,说明host不允许连接,那么就需要去 ...

  8. Mysql在离线安装时提示:error: Found option without preceding group in config file

    场景 Mysql在Windows上离线安装与配置: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117563780 在上面进行离 ...

  9. SpringBoot启动项目时提示:Error:java: 读取***.jar时出错;

    场景 在IDEA中新建SpringBoot项目后,修改了默认的Maven仓库和配置文件,然后在启动项目时提示: Error:java: 读取\org\assertj\assertj-core\3.11 ...

最新文章

  1. .a 文件 和 so 文件
  2. 超图数据集管理基本操作 - 隐藏系统字段和添加字段索引
  3. hook java_Java 实现 Hook 对鼠标键盘监听 - 沐早'S NOTEBOOK - CSDN博客
  4. 2d游戏引擎_游戏60秒:RTS游戏从2D到3D的蜕变
  5. 谈“技术含量”的问题
  6. linux addr2line
  7. java 树 右键菜单_jsp代码 树上加右键菜单
  8. php导入csv wps乱码,《excel打开csv格式乱码》 WPS不兼容EXCEL打开后出现乱码怎么解决...
  9. 「python」使用Python操作Excel的学习
  10. 如何配置 tomcat 服务器
  11. java 开发环境 列表_Java 开发环境配置
  12. hive xmlserde_各种数据格式的Hive建表语句
  13. 三个杯子的倒水问题(BFS)
  14. 开放源代码不得不知的一些事情
  15. 中国卫生健康统计年鉴(2006-2021年)
  16. 前端基础 IE浏览器渲染-重置浏览器默认样式
  17. 使用jmeter快速生成测试报告
  18. (附源码)ssm汽车租赁——持续输出BU 毕业设计 271621
  19. 阿里云商标自助注册申请快速入门(详细步骤和教程)
  20. Android 蓝牙键盘快捷键

热门文章

  1. chrome浏览器安装redux-devtools调试工具
  2. Python爬虫4.2 — ajax(动态网页数据抓取)用法教程
  3. FinalShell SSH工具安装步骤及介绍
  4. linux中的wget命令
  5. 【String】字符串中是否有空格(indexOf、split)
  6. js构造函数(原型链)及Es6的class类
  7. python处理字符串(SQL语句批量新增)
  8. 【C语言】C语言中赋值语句规则
  9. word文档的只有横线的表格怎样做
  10. dreamweaver html css,Dreamweaver CC