美文网首页程序员工具癖
一篇搞懂MySQL权限管理

一篇搞懂MySQL权限管理

作者: 剑指TOP | 来源:发表于2019-05-10 11:01 被阅读6次

MySQL版本:5.6.36-log
用例 IP 172.30.10.12;数据库 testdb;数据表 t_test;用户 test

赋予权限:

  • GRANT 是赋予权限的 关键字,后面接赋予的权限种类常见的有 ALL PRIVILEGESINSERTDELETEUPDATESELECTCREATEDROP 等。
  • ON 指将 哪个数据库 的权限赋予用户,格式为testdb.t_test* 为表通配符,*.* 代表所有库所有表,testdb.* 代表 testdb 数据库下所有表。
  • TO 指将权限赋予 哪个用户,格式为 test@'172.30.10.12'% 为IP通配符:test@'%'
    ps:@ 前面可以加'',也可以不加,后面必须加,test@'172.30.10.12' test@'localhost' 'test'@'%'
  • WITH GRANT OPTION 指定该用户能够对其他用户进行权限管理。

全部权限
GRANT ALL PRIVILEGES ON *.* TO test@'localhost';

指定数据库增删改查数据权限
GRANT INSERT, DELETE, UPDATE, SELECT ON testdb.* TO test@'localhost';

创建表和删除表的权限
GRANT CREATE, DROP ON testdb.* TO test@'localhost';

赋予权限同时指定该用户能够给其他用户进行权限管理。
GRANT ALL PRIVILEGES ON testdb.* TO user@'localhost' WITH GRANT OPTION;

解除权限:

  • REVOKE 是解除权限的 关键字,后面接赋予的权限种类,对应赋予权限的 GRANT。
  • ON 指将 哪个数据库 的权限移除。
  • FROM 指将权限从 哪个用户 移除,对应赋予权限的 TO。

如果你想移除 test 用户的所有权限,可以执行一下命令:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM test;

解除指定数据库权限
REVOKE ALL PRIVILEGES ON testdb.* from test@'localhost';

其他:

  • 如果使用了 IDENTIFIED BY PASSWORDIDENTIFIED BY,指定的密码就会变成这个用户的新密码,即使这个用户已经存在且设置了密码。
    MySQL 5.7.2 之后的版本 使用就不会修改密码,因为 GRANT 设计用户单一用途权限管理。
  • USAGE 权限的用户等于没权限,创建用户就会分配 USAGE 权限,只能给自己改密码。
  • 设置权限之后要使用 FLUSH PRIVILEGES
  • 已连接的用户需要重新连接,权限才能生效。

相关文章

  • 一篇搞懂MySQL权限管理

    MySQL版本:5.6.36-log用例 IP 172.30.10.12;数据库 testdb;数据表 t_tes...

  • Mysql 用户权限管理

    MYSQL 用户权限 MySQL之权限管理 用户权限管理 SQL脚本 1.创建用户 PARAMETER'scorp...

  • mysql 用户管理和权限设置

    mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select ho...

  • mysql用户权限与缓存

    mysql 用户权限与缓存 mysql用户和权限管理: 元数据数据库:mysql 用户帐号: 'USERNAME'...

  • 一文详解MySQL权限

    MySQL权限级别介绍 MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用...

  • 23-MYSQL数据库(二)

    视图 函数 自定义函数 流程控制 触发器 MySQL用户和权限管理 用户管理 小笔记 MySQL权限管理 授权 小...

  • 数据库之安全机制

    用户管理 权限管理 查看授权信息 关于权限 关于用户IP mysql client 10.0.122.10 my...

  • mysql权限详解

    mysql权限级别介绍 全局管理权限(Global Level)作用与整个mysql实例级别,所有权限信息存储在m...

  • idea连接数据库

    mac权限问题cd到mysql-bin目录下:cd /usr/local/mysql/bin/修改为管理员权限:s...

  • MySQL8修改密码

    查看mysql的安装地址 停止mysql 跳转到此目录并获取管理员权限 设置掉过登录权限,此时设置成功后mysql...

网友评论

    本文标题:一篇搞懂MySQL权限管理

    本文链接:https://www.haomeiwen.com/subject/wtjooqtx.html