mysql权限管理

  • 权限管理基本概念

  1. 我们可以把MySQL看做是一个工厂,db就是其中的一个个仓库,比如有A仓库,B仓库等等,而我们的表啊,索引啊什么的就是仓库里面的货物。
  2. MySQL有一套严格的权限管理制度,那什么是权限管理,为什么要有权限管理?MySQL的用户中,有些用户只需要查看MySQL数据,不需要往MySQL添加数据和删除数据,而有些用户不止可以看数据,还可以增加和删除数据,如果我们都给所有用户同样的权限,那么有些只需要看数据库的用户不小心误操作了,把数据库删除了怎么办?所以MySQL把权限进行细化,并把细化后的权限按需分配用户。(细化后的权限有:查询数据库,添加数据库,删除数据库,更新数据库,添加表,删除表...)
  3. 现在我们知道user的出现是为了权限的细化,但是我们再创建user的时候,有时候会发现user后面还会跟着@host,那这又是怎么回事呢?host是主机的意思,与MySQL打交道的多是一些特定的机器,这些机器有着特定的ip,我们可以限定某些ip的权限,比如限定内网ip才能对数据库进行操作,如果不这么做,可能某些不法分子得到了数据库的账号密码,然后就可以对数据库为所欲为了。
  • 用户管理

  1. 创建用户
    create user huang identified by 'Huang123!'
  2. 创建一个有特定主机的用户
    create user huang@10.10.123.1 identified by 'Huang123!'
  3. 修改密码
    alter user huang identified by 'Huang123@'
  4. 查看当前用户
    select user();
  5. 删除用户
    drop user huang
  6. 查询所有的用户(仅限于管理员用户)
    select * from mysql.user;
  • 权限管理

  1. 授予全部权限
    grant all privileges on *.* to huangzp
  2. 授予某个数据库,某个表,某个权限
    grant select on test.chatting_log_201702 to huangzp1;
  3. 回收某个权限
    revoke all privileges on test.chatting_log_201702 from huangzp1;
  4. 授权给某个未存在的用户并且创建用户
    grant all privileges on test.* to huangzp3@localhost identified by 'Huangzp123!';
  5. 授权给某个用户并且这个用户可以把权限授予他人
    grant select on test.chatting_log_201702 to huangzp3 identified by 'Huangzp3!' with grant option;
  6. 如果我们想看数据库中,db,tables的权限管理,可以用管理员用户查看
    select * from mysql.db
    select * from mysql.tables_priv
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 8,347评论 0 33
  • 1、你有没有链接权限 2、你有没有执行操作的权限(select/update等) 对于1:服务器如何判断用户有没有...
    像敏锐的狗阅读 3,952评论 0 1
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 12,387评论 5 116
  • Mysql对权限的控制,大致分为2个阶段: 一、用户有没有连接权限: mysql如何判断用户有没有权限连接,依据3...
    杍劼阅读 1,756评论 0 0
  • 创建用户和用户权限 权限 结构库 表结构 表 都在这个库里面! 权限 插件 一些东西都在mysql库里面 创建用户...
    凯哥学堂阅读 2,241评论 0 0

友情链接更多精彩内容