CREATE DATABASE IF NOT EXISTS `wordpress`;

GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'db_password' WITH GRANT OPTION;

MySQL的Grant命令

本文实例,运行于 MySQL 5.0 及以上版本。

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 来统一管理。

*************************************************************************************************

遇到 SELECT command denied to user '用户名'@'主机名' for table '表名' 这种错误,解决方法是需要把吧后面的表名授权,即是要你授权核心数据库也要。

我遇到的是SELECT command denied to user 'my'@'%' for table 'proc',是调用存储过程的时候出现,原以为只要把指定的数据库授权就行了,什么存储过程、函数等都不用再管了,谁知道也要把数据库mysql的 proc表授权

*************************************************************************************************

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表指定列级权限。这里指定的权限适用于一个表的特定列。

mysql 移除权限_MySQL用户授权及删除权限相关推荐

  1. mysql 授权与回收权限_mysql用户授权以及权限收回

    语法 GRANT privileges [(columns)] ON DATABASE.TABLE TO 'username'@'hostname' [IDENTIFIED BY [PASSWORD] ...

  2. mysql给用户授予某数据库权限_mysql 数据库授权(给某个用户授权某个数据库)

    mysql 数据库授权(给某个用户授权某个数据库) 2016-10-10 带你飞 1.新建用户. //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysq ...

  3. MySQL数据库的用户授权_查看权限

    文章目录 Mysql 的权限分类 权限数据的存储 每种权限的修改策略和作用范围 刷新权限 MySQL 提供的操作权限 授权语法格式 参考示例 授予用户拥有某个数据库的全部权限 授予用户拥有所有数据库的 ...

  4. mysql 8.0.21 对用户授权报错 near ‘IDENTIFIED BY ‘123456‘ with grant option‘ at line 1

    mysql 8.0.21 对用户授权报错 near 'IDENTIFIED BY '123456' with grant option' at line 1 问题描述 mysql在创建用户,对用户授权 ...

  5. mysql数据库的密码破解/用户授权/备份/图形化管理工具phpmyadmin

    mysql数据库的密码破解/用户授权/备份/图形化管理工具phpmyadmin 1.数据库密码管理 a)数据库密码更改(知道数据库原密码) 实验步骤: 1)使用mysqladmin -u指定用户 -p ...

  6. 用命令创建表空间、用户,并为用户授权、收回权限。

    oracle中如何删除用户? Oracle中使用DROP USER来删除用户,如果使用DROP USER CASCADE那么用户的对象也同时被删除掉.为了达到删除用户的效果而又不影响对用户下的对象的使 ...

  7. Oracle的系统和对象权限 查看用户包含的各类权限

    Oracle数据库用户权限查询和一些查看操作(汇总) 2018年07月22日 20:32:38 茶木君 阅读数:1222 标签: oracle 更多 个人分类: oracle dba权限:user为有 ...

  8. mysql取消权限设置_mysql用户授权与权限撤销

    mysql用户授权与权限撤销 实验练习: 1.允许root从192.168.4.0/24网段访问,对所有库/表有完全控制权限,需要验证的密码为xujunxian. 2.建立一个管理账号dba007,对 ...

  9. mysql授权用户主机_MySQL用户授权(GRANT)

    当成功创建用户账户后,还不能执行任何操作,需要为该用户分配适当的访问权限.可以使用 SHOW GRANT FOR 语句来查询用户的权限. 注意:新创建的用户只有登录 MySQL 服务器的权限,没有任何 ...

最新文章

  1. Html制作知识库管理系统,HTML 编辑器
  2. 小时级部署,客户数上千,神策数据的私有化部署靠什么取胜?
  3. JavaScript 高级程序设计第四章解读,总结。
  4. 关于HTTP和HTTPS的区别
  5. 使用@Order调整配置类加载顺序
  6. 对USB驱动程序的理解(1)
  7. python画三维散点图-Python散点图与三维图
  8. 库克:苹果正在开发“会震爆你”的未来产品
  9. 超定方程组及其求解方法
  10. 硬件中控一键开关机设计方案
  11. 面试题10:青蛙跳台阶
  12. ubuntu 16.04 下安装搜狗输入法教程
  13. 从前端角度分析浏览器响应时间慢等情况
  14. 背景颜色渐变 background
  15. 阿里巴巴 OSS与AWS(亚马逊) S3 和腾讯云cos 存储服务 介绍篇
  16. 不要做联表查询!!!
  17. 寒假思雨姐摸底A题,题解
  18. DTU自动化控制服务端软件
  19. Pool池对象-sync.Pool
  20. DX12渲染引擎目录

热门文章

  1. UE4 使用UAssetManager进行资源的异步加载
  2. mysql的cell_这篇发生Cell的数据库到底特殊在哪里?
  3. android7虚拟定位,Android8.0还早 EMUI助推Android7.0普及
  4. 数据智能时代:数据体系建设的实质、思路和方式
  5. JSON, JSONObject, JsonObject
  6. LeetCode:206(Python)—— 反转链表(简单)
  7. 因段子引发的软件测试思考
  8. cubemx使用FATFS实现对U盘读取 --- STM32F407
  9. java11开启 zgc_JDK11的ZGC - 学习笔记
  10. linux vim 设置大全详解