5.Mysql 用户权限管理

介绍

用户权限是管理和控制数据库访问的重要组成部分。权限常见的有行级和列级权限,通过合理设置用户权限,可以确保数据库安全性,并限制用户对数据库的操作范围。

Mysql 用户管理网址:https://dev.mysql.com/doc/refman/8.0/en/account-management-statements.html

Mysql 权限管理网址:https://dev.mysql.com/doc/refman/8.0/en/roles.html

创建、修改和删除用户
# 创建用户
create user if not exists 'user_test1'@'%' identified by 'test1';
create user if not exists 'user_test2'@'%' identified by 'test2',
            'user_test3'@'%' identified by 'test3'; -- 创建多个用户
# 修改用户
rename user 'user_test1'@'%' to 'user_test4'@'%',
						'user_test2'@'%' to 'user_test5'@'%';
# 删除用户
drop user if exists 'user_test4'@'%','user_test5'@'%';
查看用户权限
-- 查看当前用户
select user();                        
-- 查看指定用户权限
show grants for 'root'@'%';             
-- 通过user表查看用户权限
select * 
from mysql.user 
where user = 'dmp_dev';                
select * 
from information_schema.user_privileges 
where grantee = '\'dmp_dev\'@\'%\'';   -- 通过user_privileges表查看用户权限,注意需要转义引号
授权权限给用户
-- 授权所有库表的操作权限
grant all privileges on *.* to 'user_test1'@'%';
-- 授权指定数据库所有表操作权限,如sql_test库所有表所有操作权限
grant all on sql_test.* to 'user_test2'@'%';
-- 授权指定数据库所有表所有操作权限
grant all on sql_test1.* to 'user_test2'@'%';
-- 授权指定数据库所有表查询操作权限
grant select on sql_test1.* to 'user_test3'@'%';
-- 授权指定数据库指定表所有操作权限
grant all on sql_test1.product to 'user_test4'@'%';
-- 授权指定数据库指定表‘增删改查’操作权限
grant select,insert,delete,update on sql_test1.product to 'user_test5'@'%';
-- 授权指定数据库指定表字段查询权限
grant select(prod_id,prod_name) on sql_test1.produce to 'user_test6'@'%'
移除用户权限
-- 移除用户所有权限
revoke all privileges on sql_test.* from 'user_test2'@'%';
-- 移除用户指定权限
revoke insert,delete on sql_test1.product from 'user_test5'@'%';
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有请小发菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值