账户管理

 

6.2.4 Specifying Account Names


  1. 账户名称
    语法:'user_name'@'host_name'
    不包含特殊字符(空格)、通配符(%)时,可以不用引号
    View Code
  2. 账户保存
    保存到user表(全局权限);
    其他授权表拥有一致的用户信息(Host、User)
    用户名区分大小写,主机名不区分
    View Code
  3. 匿名用户
    ''@'localhost'
    View Code
  4. 主机名
    支持ip地址(ipv4 & ipv6)
    不论是ip地址还是主机名,都可以使用通配符(%、_)
    允许ip地址带子网掩码
    View Code

     忽略时,默认'%'

13.7.1 Account Management Statements


  1. 修改用户
    -- 下次连接使用新密码;
    ALTER USER 'jeffrey'@'localhost'
      IDENTIFIED BY 'new_password' PASSWORD EXPIRE;
    -- 指定验证插件并设置密码和有效期;
    ALTER USER 'jeffrey'@'localhost'
      IDENTIFIED WITH sha256_password BY 'new_password'
      PASSWORD EXPIRE INTERVAL 180 DAY;
    -- 锁定用户
    ALTER USER 'jeffrey'@'localhost' ACCOUNT LOCK;
    ALTER USER 'jeffrey'@'localhost' ACCOUNT UNLOCK;
    -- 限制连接次数和连接方式
    ALTER USER 'jeffrey'@'localhost'
      REQUIRE SSL WITH MAX_CONNECTIONS_PER_HOUR 20;
    -- 指定明文密码
    ALTER USER 'jeffrey'@'localhost'
      IDENTIFIED BY 'password';
    -- 能加密就加密,不能加密也行
    ALTER USER 'jeffrey'@'localhost' REQUIRE NONE;
    -- 要求加密连接
    ALTER USER 'jeffrey'@'localhost' REQUIRE SSL;
    -- 要求证书加密,无需指定ssl选项
    ALTER USER 'jeffrey'@'localhost' REQUIRE X509;
    -- 立即过期
    ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE;
    -- 密码永不过期
    ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE NEVER;
    -- 指定过期时间
    ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE INTERVAL 180 DAY;
    View Code
  2. 创建用户

    -- 创建用户,设置密码过期
    CREATE USER 'jeffrey'@'localhost'  IDENTIFIED BY 'new_password' PASSWORD EXPIRE;
    -- 能加密就加密,不能加密也行
    CREATE USER 'jeffrey'@'localhost' REQUIRE NONE;
    -- 要求建立加密连接
    CREATE USER 'jeffrey'@'localhost' REQUIRE SSL;
    View Code
  3. 删除用户

    DROP USER 'jeffrey'@'localhost';
    View Code
  4. 授权
    授权操作

    -- 授权
    GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
    GRANT ALL ON *.* TO 'admin'@'%' WITH grant option;
    GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';
    
    ALTER USER 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;
    
    -- 查看授权
    SHOW GRANTS for 'admin'@'%';
    View Code

    权限定义

     
    权限 备注
     ALL [PRIVILEGES]  不包含GRANT OPTION 和 PROXY 
     ALTER  修改表(全局、库、表) 
     ALTER ROUTINE  修改/删除存储例程(全局、库、例程) 
     CREATE  建库、建表(全局、库、表 )
     CREATE ROUTINE  创建例程(全局、库) 
     CREATE TABLESPACE  创建、修改、删除表空间、日志文件组(全局)
     CREATE TEMPORARY TABLES  全局、库
     CREATE USER  建用户、删用户、用户改名、收回用户权限(全局) 
     CREATE VIEW  创建、修改视图(全局、库、表) 
     DELETE  全局、库、表 
     DROP  删库、删表、删视图(全局、库、表) 
     EVENT   
     EXECUTE  执行存储例程(全局、库、例程) 
     FILE  读、写文件(全局) 
     GRANT OPTION  授权、收回权限(全局、库、表、例程、索引) 
     INDEX  创建索引、删除索引(全局、库、表) 
     INSERT  全局、库、表、列 
     LOCK TABLES  允许拥有 select 权限用户锁表(全局、库) 
     PROCESS  show processlist 
    PROXY   
    REFERENCES  创建外键(全局、库、表、列) 
    RELOAD  flush(全局) 
    REPLICATION CLIENT   
    REPLICATION SLAVE  
    SELECT  全局、库、表、列 
    SHOW DATABASES  全局 
    SHOW VIEW  全局、库、表 
    SHUTDOWN   
    SUPER  
    TRIGGER  全局、库、表 
    UPDATE  全局、库、表、列 
    USAGE  “no privileges” 



    a

MySQL

一切代码都是为了生活,一切生活都是调剂
原文地址:https://www.cnblogs.com/argor/p/12615320.html