赞
踩
权限管理,给新增用户,添加权限的时候非常有用。比如运维人员拥有最高权限,开发人员拥有对表的增删改查的权限,没有创建数据库的权限。测试人员仅有查看权限等....
小高只是对官方的文档进行摘选,总结。官方文档资料:
https://dev.mysql.com/doc/refman/5.7/en/security.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、用户的管理
创建用户
https://dev.mysql.com/doc/refman/5.7/en/create-user.html
eg:创建本地连接的,gao2账号,密码为'Gao123456!'CREATE USER 'gao2'@'localhost' IDENTIFIED BY 'Gao123456!';
锁住某个用户:锁住某个用户,新的连接无法创建,但是不影响已经连接完成的session操作。
eg:锁住 远程连接的gao2 ALTER USER 'gao2'@'%' lock;
eg:解锁 远程连接的gao2ALTER USER 'gao2'@'%' unlock;
用户的资源限制(有兴趣的可以参考下面的文档,使用得不多)
https://dev.mysql.com/doc/refman/5.7/en/user-resources.html
帐户每小时可发出的查询数量
帐户每小时可以发布的更新次数
帐户每小时可以连接到服务器的次数
帐户同时连接到服务器的数量
D. 查看用户信息
eg:查看所有用户的主机、账号信息select * from mysql.user;
3、用户的密码管理
1、修改密码: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:最少的特殊字符数
mysql> create user 'gao3'@'%' identified by '123456789';Query OK, 0 rows affected (0.00 sec)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。