• MySql-用户管理


    用户管理

    主要是为了控制权限,让不同的开发者仅能操作属于自己的业务范围内的数据。可以通过select * from mysql.user G;来查看当前用户以及用户权限

    创建mysql账户

    create user 用户名@主机名 identified by 密码;
    
    create user jerry@'192.168.11.210' identified by '123';  # 给指定的'192.168.11.210'创建用户名nick,密码123。
    

    该用户名只能在指定的ip上使用。如果要在所有ip上创建时,可以在主机名上写%。在创建账户时,该账户是没有任何权限,所以在创建用户后要给账户授权

    授权语句

    授权语句执行时,如果账号不存在会自动创建账户,其次只有root才能为其他账户授权。授权时会根据权限来将账户密码存在不同的表中

    user表:存与用户相关的信息

    db表:用户的数据库权限信息

    tables_priv:用户的表权限

    columns_priv:用户的字段权限

    grant 权限1,权限2... on 数据库.表 to 用户名 @主机名 [identified by '密码'] # 给用户分配权限,如果用户不存在时,可以在分配权限的同时创建该用户
    
    # 权限:all表示所有权限,其他权限包括:insert、update、delete、select...
    # 数据库和表:* 表示全部
    # 主机名:可以是指定的某个ip地址,可以是localhost|127.0.0.1表示本机,可以是%表示所有
    
    grant all on *.* to tom@"localhost" identified by "123";
    #该语句中的all 增删改查所有权限 但是不包括grant权限
    #*.* 表示任何数据库 任何表 存储在user表
    
    grant all on *.* to toms@"%" identified by "123";
    # host 为% 表示 该账户可以在任何主机上登录但是不包括localhost
    grant all on *.* to toms@"localhost" identified by "123";
    # 继续执行 上述语句保证localhost也可以登录该账户
    
    grant all on db.* to tom@"localhost" identified by "123" 
    #db.* 该用户可以操作db数据库的任何表 存储在 db表
    
    grant all on db.t1 to tom@"localhost" identified by "123" 
    #db.* 该用户可以操作db数据库的t1表 存储在 table_privi表
    
    grant select(id) on db.t1 to tom@"localhost" identified by "123" 
    #精确到字段操作级别,该用户只能查询 db下的t1表,存储在columns_priv表
    
    grant all on *.* to tom@"localhost" identified by "123" with grant option;
    #with grant option 表示该账户可以将权限授予其他用户
    
    
    REVOKE all privileges [column]  on 数据库名.表名 from user@"host";  #收回权限
    
    drop user 用户名@"host"  #删除用户
    
    show grants for 用户名 @ip地址;  # 查看权限
    
    flush privileges;
    #刷新权限表 一些时候权限信息可能会有所延迟 可以执行该语句立即刷新权限信息
    
  • 相关阅读:
    IntelliJ IDEA maven库下载依赖包速度慢的问题
    安装 PHP
    秒杀怎么样才可以防止超卖?基于mysql的事务和锁实现
    MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)
    架构师之路16年精选50篇
    基于ELK和Python搭建简单的监控告警系统
    MySQL5.7 利用keepalived来实现mysql双主高可用方案的详细过程
    在线数据迁移
    jedisLock—redis分布式锁实现
    Intellij IDEA 最新旗舰版注册激活破解(2018亲测,可用)
  • 原文地址:https://www.cnblogs.com/863652104kai/p/11203478.html
Copyright © 2020-2023  润新知