MySQL8创建、删除用户和授权、消权

MySQL8创建、删除用户和授权、消权

1. 创建用户

create user '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址' identified by '设置的密码';

其中%指任意ip都能连接,可以将其localhost指本地才可连接,也可以指定ip连接

2. 刷新权限

flush privileges;

3. 修改密码

alter user '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址' identified by '新密码';
flush privileges; 记得刷新

4. 授权

grant all privileges on *.* to '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址' with grant option;

with gran option:表示该用户可给其它用户赋予权限,但不可能超过该用户已有的权限。

授权用户有select,insert权限,也可给其它用户赋权,但它不可能给其它用户赋delete权限。
(with gran option 这句话可以不加,请视个人情况而定)

示例如下:

授予管理员权限
 grant all privileges on *.* to '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址' IDENTIFIED BY 'mypassword' with grant option;
授予用户部分权限
grant select,insert,update,delete on *.* to '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';
授予用户只读权限
grant select on *.* to '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址' IDENTIFIED BY 'your_password';

第一个*表示通配数据库,可指定新建用户只可操作的数据库

grant all privileges on 数据库.* to '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';

第二个*表示通配表,可指定新建用户只可操作的数据库下的某个表

grant all privileges on 数据库.指定表名 to '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';

all privileges 可换成select,update,insert,delete,drop,create等
(详见本文第9段)

5. 查看用户授权信息

show grants for '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';

6. 撤销权限

revoke all privileges on *.* from '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';

用户有什么权限就撤什么权限,例:all privileges

7. 删除用户

drop user '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';

8. grant授权、改权

当一个用户设置的权限过大,除了使用revoke回收部分权限外,还可以使用grant进行权限修改
就是对同一’用户名’@'ip’设置权限,以覆盖之前的权限,grant修改后的权限将覆盖之前的权限!

grant授权设置明文密码
grant 权限列表 on 库..* to 用户名@'ip' identified by "明文密码"
grant授权设置密文密码
grant 权限列表 on 库..* to 用户名@'ip' identified by password "密文密码"

grant重置权限的时候可以用查看的密文密码当做新的密码,然后去覆盖之前的权限,这就保证了修改前后的密码一致!

9. Mysql权限列表

权限权限级别权限说明
create数据库、表或索引创建数据库、表或索引权限
drop数据库或表删除数据库或表权限
grant option数据库、表或保存的程序赋予权限选项
references数据库或表外键权限
alter更改表,比如添加字段、索引、修改字段等
delete删除数据权限
index索引权限
insert插入权限
select查询权限
update更新权限
create view视图创建视图权限
show view视图查看视图权限
alter routine存储过程更改存储过程权限
create routine存储过程创建存储过程权限
execute存储过程执行存储过程权限
file服务器主机上的文件访问文件访问权限
create temporary tables服务器管理创建临时表权限
lock tables服务器管理锁表权限
create user服务器管理创建用户权限
proccess服务器管理查看进程权限
reload服务器管理执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限
replication client服务器管理复制权限
replication slave服务器管理复制权限
show databases服务器管理查看数据库权限
shutdown服务器管理关闭数据库权限
super服务器管理执行kill线程权限

10. 本地数据库允许局域网内访问

配置防火墙入站规则,开发特定端口3306

具体操作可自行查询,本文不在赘述

11. 授权全流程

drop user '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';
flush privileges;

create user '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址' identified by '设置的密码';
flush privileges;

GRANT all privileges ON `数据库名称`.* TO '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';
flush privileges;

show grants for '用户名'@'允许访问的IP地址,多个IP地址使用逗号区分或者配置%允许所有IP地址';
本人水平有限,还在不断学习中,难免有很多错误或者遗漏,望见谅!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值