MySQL权限管理(一)

权限管理

1. “用户 + IP”的概念

MySQL中同一个用户名,比如Bob,能否登录,以及用什么密码登录,可以访问什么库等等,都需要加上IP,才可以表示一个完整的用户标识

bob@127.0.0.1bob@loalhost 以及 bob@192.168.1.100 这三个其实是不同用户标识

2. 用户权限管理

  • 系统表权限信息:

    • a) 用户名和IP是否允许
    • b) 查看mysql.user表 // 查看全局所有库的权限
    • c) 查看mysql.db表 // 查看指定库的权限
    • d) 查看mysql.table_priv表 // 查看指定表的权限
    • e) 查看mysql.column_priv表 // 查看指定列的权限

    tips: mysql> desc [tablename]; 可以查看表的结构信息;

  • 常用权限:

    • SQL语句:SELECT、INSERT、UPDATE、DELETE、INDEX
    • 存储过程:CREATE ROUTINE、ALTER ROUTINE、EXECUTE、TRIGGER
    • 管理权限:SUPER、RELOAD、SHOW DATABASE、SHUTDOWN、

    点击这里可以查看官网文档中关于权限介绍的详细信息

  • 可选资源:

    • MAX_QUERIES_PER_HOUR count
    • MAX_UPDATES_PER_HOUR count
    • MAX_CONNECTIONS_PER_HOUR count
    • MAX_USER_CONNECTIONS count

    tips: 只能精确到小时,对于部分场景不适用,可以考虑中间件方式,事实上企业用这块用的还是比较少,但在云上,则有这方面的管制,类似像阿里云,会有导入导出之类的限制,也会有窗口使用的限制*

  • 显示当前用户的权限

    #这三个是同一个意思
    mysql> show grants;
    mysql> show grants for current_user;
    mysql> show grants for current_user();
    

3. 基本操作

mysql> create user 'bob'@'127.0.0.1' identified by '123'; 
       #创建一个认证用户为'bob'@'127.0.0.1',密码是123
mysql> grant all on NWDB.* to 'bob'@'127.0.0.1';
       #授予他NWDB库下面所有表的所有访问权限; *.*表示所有库的所有表

mysql> grant all on NWDB.* to 'alice'@'127.0.0.1' identified by '123';
       #这个grant语句会搜索用户,如果用户不存在,则自动创建用户,
       #如果不带identified by, 则该用户名密码为空

mysql> grant all on *.* to 'tom'@'192.168.10.%' identified by '123' with grant option;
       #表示这个用户'tom'@'127.0.0.1'可以访问所有库的所有表,
       #同时,他还可以给其他用户授予权限(with grant option),
       #注意如果,*.*改成了某一个指定的非USER库,
       #则tom没法去新建其他用户了,因为User库没有权限了
       #192.168.10.% 表示属于192.168.10.0/24网段的用户可以访问

4. 撤销权限

  • revoke 关键字,该关键字只删除用户权限,不删除用户
  • revoke 语法同grant一致, 从grant ... to 变为revoke ... from

tips: 如需删除用户,使用

drop user@'xxx'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值