BruceOuyang / issuelist

用于记录日常碰到的各种问题和经验总结 (请看Issues)
4 stars 2 forks source link

mysql 用户和权限管理 #87

Open BruceOuyang opened 2 years ago

BruceOuyang commented 2 years ago

follow: https://www.cnblogs.com/keme/p/10288168.html

BruceOuyang commented 2 years ago

赋予用户权限信息

语法

grant [options] on [database].[table] to [user]@[host] identified by [password] [with grant option]
flush privileges;

示例
给 root 用户添加所有数据库权限,且可以授权

grant all privileges on *.* to root@'%' identified by 'root' with grant option;
flush privileges;

flush privileges 为刷新mysql内存,赋予权限需刷新内存后生效

查看用户权限信息

查看 mysql 有哪些用户

select user, host from mysql.user;

查看已授权给用户的权限信息
语法

show grants for [user]@[host]

示例

show grants for root@'localhost';

收回用户权限信息

语法

revoke [options] on [database].[table] from [user]@[host]

示例
收回 root 用户的 drop 权限

revoke drop on *.* from root@'%';

收回用户所有权限

revoke all privileges, grant option from [user]@[host];
BruceOuyang commented 2 years ago

用户管理

创建用户
推荐 create user / grant 命令

create user 'test'@'localhost' identified by '123456';

grant  SELECT,INSERT,UPDATE,DELETE,CREATE on [database].[table] to test@'localhost' identified by '123456'

flush privileges;

查看用户

select * from mysql.user;

删除用户

drop user test@'localhost'

修改用户密码 推荐 alter userset password

alter user test@'localhost' identified by 'newpwd';

set password for test@'localhost' = password('newpwd');

修改当前用户密码

alter user user() identified by 'newpwd';
set password = password('newpwd');
BruceOuyang commented 2 years ago

特别补充,高危权限把控

一般普通用户权限推荐设置

select,insert,alter,update,delete,create,execute

高危权限,尽量控制在管理员范围

drop, file, process, super