mysql创建用户并赋予*.*权限_mysql 的权限管理

权限管理,给新增用户,添加权限的时候非常有用。比如运维人员拥有最高权限,开发人员拥有对表的增删改查的权限,没有创建数据库的权限。测试人员仅有查看权限等....

小高只是对官方的文档进行摘选,总结。官方文档资料:
https://dev.mysql.com/doc/refman/5.7/en/security.html

目录:

  1. 权限类型以及类型的介绍

  2. 用户的管理

  3. 用户密码管理

1、权限类型以及类型的介绍>  https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html    授权的grant 语句以及语法:
>  https://dev.mysql.com/doc/refman/5.7/en/grant.html    撤销授权的 revoke 语句以及语法
>  https://dev.mysql.com/doc/refman/5.7/en/revoke.html常用的:
  •  ALL PRIVILEGES:赋予所有权限,相当于管理员GRANT ALL PRIVILEGES ON testDatabase.* TO 'gao'@'localhost';
    FLUSH PRIVILEGES;

> ALL PRIVILEGES : 权限级别

> testDatabase : 操作的数据库,如果所有的数据库,可以用* 替代。

> * : 数据的表,*代表数据库中的所有表。

> gao:授权的用户

> localhost:用户登录的主机/ip,localhost代表只能本地登录,如果是允许远程连接,使用 % 或者 ip表示。
> FLUSH PRIVILEGES :刷新授权

  • 多个权限精准赋予:
    eg:创建gao用户(如果不存在则创建),对db1数据库仅有查看、修改、新增的权限,并且使用123456密码登录。

    GRANT SELECT, UPDATE,INSERT ON db1.* TO 'gao'@'%' IDENTIFIED BY '123456';

  •  除了某个、某几个权限外的权限赋予(排他法)
    eg:赋予gao用户,对db2数据库,除了drop外的所有权限

    GRANT ALL ON db1.* TO 'gao'@'%';REVOKE DROP ON db1.* TO 'gao'@'%';FLUSH PRIVILEGES;

  • 查看用户的权限列表
    SHOW GRANTS [FOR user]

        eg:a: 查看本机的权限SHOW GRANTS;
                b: 查看gao1的权限

           SHOW GRANTS FOR 'gao1'@'%'; 

2、用户的管理

  1.   创建用户
    https://dev.mysql.com/doc/refman/5.7/en/create-user.html
    eg:创建本地连接的,gao2账号,密码为'Gao123456!'CREATE USER 'gao2'@'localhost' IDENTIFIED BY 'Gao123456!';

  2. 锁住某个用户:锁住某个用户,新的连接无法创建,但是不影响已经连接完成的session操作。
    eg:锁住 远程连接的gao2 ALTER USER 'gao2'@'%' lock;
    eg:解锁 远程连接的gao2ALTER USER 'gao2'@'%' unlock;

  3. 用户的资源限制(有兴趣的可以参考下面的文档,使用得不多)
    https://dev.mysql.com/doc/refman/5.7/en/user-resources.html

  4. 帐户每小时可发出的查询数量

  5. 帐户每小时可以发布的更新次数

  6. 帐户每小时可以连接到服务器的次数

  7. 帐户同时连接到服务器的数量

    D. 查看用户信息
        eg:查看所有用户的主机、账号信息select * from mysql.user;

 3、用户的密码管理

1、修改密码:
            eg:将本地的gao2账号,修改密码为:Gao123456789!
            alter user 'gao2'@'localhost' identified 'Gaoqj123456789!';
      2、查看密码的校验配置:
           在新增、修改用户密码的时候有用
           在默认情况下,mysql 5.7 的密码校验级别为 Nedium
           查看校验配置: show variables like 'validate_password%'; 4066045f81d72b97383412d06fda57b8.png
  • validate_password_check_user_name :  在alter user的时候,匹配用户名

  • validate_password_dictionary_file :需要安装file的插件才可以使用

  • validate_password_length : 要求密码的最少长度

  • validate_password_mixed_case_count :最少大小写字符数

  • validate_password_number_count:最少存在的数字数

  • validate_password_policy:密码的校验级别

  • 0/LOW长度
    1/MEDIUM长度; 数字,小写/大写和特殊字符
    2/STRONG长度; 数字,小写/大写和特殊字符;字典文件
  • validate_password_special_char_count:最少的特殊字符数

    3、修改校验级别,开发环境,可以将密码级别修改为简单的模式:     SET GLOBAL `validate_password_policy` = LOW;   这个时候,新增修改用户的密码, 只与长度有关了   validate_password_length 
mysql> create user 'gao3'@'%' identified by '123456789';Query OK, 0 rows affected (0.00 sec)    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值