权限管理操作

2018-09-27 20:33 更新

 一、权限简介

    权限主要是为了用户能在一定范围内进行操作。

二、创建权限

grant all privileges on db_name.tb_name to user_name@'login_address' [identified by "密码"] [with grant option];

    all: 该用户的权限,如我们只授予部分权限,直接替代all即可。

    db_naem.tb_name: 数据库.数据表,如果我们不指定的话,我们可以直接使用*.*。

    user_name: 要创建的用户名.当用户名存在的时候会给存在的用户重新授权,当用户不存在的时候会创建用户并给予相对应的权限。

    login_address: 该用户连接的ip地址。如果是不设置直接使用%,有时候,我们使用的%表示链接地址,但是用户在本地是无法连接的,则在重新添加一个localhost的权限。

    identified by "密码": 该用户的登陆密码。

    with grant option: 将自己拥有的权限授权给别人。

三、基本操作

    1.增加权限

grant ALTER,SELECT on *.* to qq@'localhost' identified by "123456" with grant option;

    2.删除权限

revoke delete on *.* from 'qq'@'localhost';
drop user 'qq'@'localhost';

    3.重置权限

// 修改用户名称
rename user 'qq'@'%' to 'jim'@'%'; 

// 修改用户密码

SET PASSWORD FOR 'qq'@'localhost' = PASSWORD('123456');

mysqladmin -uqq -p123456 password 1234abcd

update user set PASSWORD = PASSWORD('1234abcd') where user = 'qq';

     4.查询权限

show grants for 'qq'@'%';

    *有时我们对系统数据库进行了操作,但还是不能达到我们的效果,则可以使用强制刷新

flush privileges;

四、权限维护

     权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:

    1、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。

    2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。

    3、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。

    4、为每个用户设置满足密码复杂度的密码。

    5、定期清理不需要的用户。回收权限或者删除用户。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号