陈三三 Python运维站

MySQL用户创建及权限管理

2020年7月4日 23:32数据库经验
image

用户账户创建



CREATE USER 'admin'@'localhost' IDENTIFIED BY '123456'; 

 # 创建 admin账户,本地登陆,密码123456

CREATE USER 'admin'@'119.20.0.0/255.255.255.0' IDENDIFIED BY '123456'; 

 # 创建 admin账户,远程IP段 119.20.0.0/24 均可登陆,密码123456

CREATE USER 'admin'@'%' IDENTIFIED BY '123456'; 

 # 创建 admin账户,任意地址均可登陆,密码123456 

CREATE USER 'admin'@'%' IDENTIFIED BY ''; 

 # 创建 admin账户,任意地址均可登陆,密码为空

CREATE USER 'admin'@'%';


账户密码修改



set password for admin@localhost = password('aaaa');


账户的删除



DROP USER admin@'%'; 


 账户对应权限设置:



GRANT select,insert,update,delete,create,drop on vtdc.employee to admin@10.163.225.8;


GRANT select,insert  ON  xzidata.mmjj  TO  'admin@'%';


# 授权 'admin@'%' 账户对  xzidata 数据库的表 mmjj  的 select,insert 操作权限;



GRANT ALL privileges on *.* to 'admin'@'%';  


# 授权 'admin@'%' 账户所有操作权限;



取消账户授权 



REVOKE SELECT ON *.* FROM ‘admin’@‘%’;


查看账户授权情况



 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 


 



当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。



用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用'%'表示从任何地址连接。



flush privileges;  # 刷新MySQL账户信息,执行账户操作后需要执行一次,否则只能等数据库重启后才能启用。