• mysql的用户管理


    概念:
    
    mysql是一个tcp服务器,可用来操作服务器上的文件数据,接收用户端发送的指令时,需要考虑到安全问题。
    
    mysql 自带的数据库中有4个表用于用户管理的:
    优先级从高到低: user --> db --> tables_priv -->columns_priv

    具体关系 :
    user #该表放行的权限 针对:所有数据库,所有库下所有表,以及表下的所有字段
    db #该表放行的权限 针对:某一数据库,该数据库下的所有表,以及表下的所有字段
    tables_priv #该表放行的权限 针对:某一张表,以及该表下的所有字段
    columns_priv #该表放行的权限 针对:某一个字段


    user:放行db1,db2及其包含的所有
    db:放行db1,及其db1包含的所有
    tables_priv:放行db1.table1,及其该表包含的所有
    columns_prive:放行db1.table1.column1,只放行该字段
    
    

      

    授权:对文件夹,对文件,对文件某一字段的权限
    查看帮助:help grant
    常用权限有:select,update,alter,delete
    all可以代表除了grant之外的所有权限
    

      

    一、创建用户
    
    先选择user 表,在此创建的用户信息在db表零也会存在!
    
    create user 用户名@‘主机地址’ identified by '密码';
    
    create user michael@'127.0.0.1'  identified by'123';
    #此处创建的用户michael在db 和 user 里都能查到。
    
    
    二、给用户授权
    
    grant  [权限的名称 select... insert...|all] on 数据库.表名 to 用户名@'主机地址';
    
    
    grant select(id ,name), insert(id,name) on day41.stu to michael@'localhost';
    #给用户michael设置 查找,赋值 day41.stu里的id,name 的功能。
    
    grant all on day41.stu to michael@'localhost' ;
    #可以访问day41里的stu这个表
    
    grant all on day41.* to michael@'localhost';
    #可以访问day41这个库里所有的表
    
    grant all on *.*  to michael@'localhost' ;
    #可以访问所有的库和表
    
    三、权限授予   将user拥有的权限授予其他账户,自身还有,相当于复制
    
    grant [权限的名称 select... insert... |all] on 数据库.表名  to 用户名@‘主机地址’   with grant option; 
    
    grant all on *.* to michael@‘127.0.0.1’;
    #当用户michael不存在时,会自动创建该用户! 
    
    
    四、删除权限
    
    revoke 权限的名称 on 数据库.表名 from 用户名@‘主机地址’;
    
    revoke all on *.* from michael@'127.0.0.1';
    #此处删除michael所拥有的权限,会 残留权限grant_priv,可以利用字段的改值方法将其重新赋值为N即可!!
    
    update mysql.user  set grant_priv = 'n' where user='michael' and host='localhost';
    #这一步删去了grant_priv 这一权限。
    
    操作完以后,可以利用:
                                        flush privileges;
    
    
    五、删除用户
    
    drop user 用户名@‘主机地址’;
    这一步会将db里面之前创建的用户信息也删除!
        
    
    
                
    

      

  • 相关阅读:
    路由基础、多app共存,路由分配、路由分发(将app自己的路由分发给应用自身管理)、反解
    Django项目的创建与介绍,三件套,静态文件,配置Mysql完成数据迁移,单表ORM记录的增删改查
    Django框架导读
    Flask简易版本、Ajax、DOM操作,表单操作
    JQuery
    0820-信心赛
    codeforces比赛总(吐)结(嘈)
    洛谷P3403 跳楼机(最短路)
    求逆序对的三种方法
    NKOJ 3751 扫雷游戏
  • 原文地址:https://www.cnblogs.com/changwenjun-666/p/10878510.html
Copyright © 2020-2023  润新知