当前位置:网站首页>【MySQL必知必会】触发器 | 权限管理
【MySQL必知必会】触发器 | 权限管理
2022-07-25 14:26:00 【Cpt丶】
触发器
对于数据进行手动操作的话,很容易会忘记其中的一步, 导致数据丢失。
触发器的操作
-- 创建语法
CREATE TRIGGER 触发器名称 {BEFORE|AFTER} {
INSERT|UPDATE|DELETE}
ON 表名
FOR EACH ROW 表达式;
- 表名:表示触发器监控的对象。
- INSERT|UPDATE|DELETE:表示触发的事件。INSERT 表示插入记录时触发;UPDATE 表示更新记录时触发;DELETE 表示删除记录时触发。
- BEFORE|AFTER:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件 之后触发。
-- 查看触发器
SHOW TRIGGERS \G;
-- 删除触发器
drop trigger 触发器名称;


- 如果触发器执行的时候,语句出现错误 ,那么它就不会执行.
触发器的优缺点
优点
- 触发器可以确保数据的完整性, 数据就是一致的,不会互相矛盾.
- 触发器可以帮助我们记录操作日志
- 触发器还可以用在操作数据前,对数据进行合法性检查。
缺点 - 触发器最大的一个问题就是可读性差,如果发生错误,它的报错信息特别难找,和普通的基本类似,维护成本高,解决方法就是维护一个完整的数据库设计文档。
权限管理
- 用户 : 工作人员 角色 :权限分配的一个集合
- 恰当的权限设定,可以确保数据的安全性,这是至关重要的。
角色
- 角色是在 MySQL 8.0 中引入的新功能,相当于一个权限的集合。引入角色的目的是方便管 理拥有相同权限的用户。
- 创建角色之后,默认这个角色是没有任何权限的,我们需要给角色授权。
-- 创建角色 角色名 用单引号括起来
create role role_id
CREATE ROLE 'manager'@'localhost';
-- 角色名称是“manager”,角色可以登录的主机 是“localhost”
-- 如果不写主机名,MySQL 默认是通配符“%”,意思是这个账号可以从任何一台主机上登 录数据库。
-- 给角色授权
grant 权限 on 表名 to 角色名;
select 只读
select,insert,delete,update 增删改查
-- 查看角色权限
show grant for 角色名字;
-- 删除角色
drop role 角色id;
-- 激活角色
set global activate_all_roles_on_login=ON;
- MySQL 中创建了 角色之后,默认都是没有被激活的,需要激活后才可以赋值给用户。

用户
-- 创建用户 必须要指定密码
CREATE USER 用户名 [IDENTIFIED BY 密码];
-- 给用户授权
grant role_id to user_id; -- 可以把上面创建角色的权限 分配给用户
grant 权限 on 表名 to user_id; -- 直接赋权
-- 查看用户权限
show grant for user_id;
-- 删除用户
drop user user_id;

小结
- 角色是权限的集合。 删除 了角色,那么用户也就失去了通过这个角色所获得的所有权限
- 角色在刚刚创建出来的时候,默认是没有激活的,需要手动激活,才可以 使用。
- 尽量使用数据库自己的角色和用户机制 来控制访问权限,不要轻易用 Root 账号。
边栏推荐
- swiper 一侧或两侧露出一小部分
- Maya modeling exercise
- Why do China Construction and China Railway need this certificate? What is the reason?
- 华为ensp路由器静态路由(默认路由的下一跳地址)
- CDA level Ⅰ 2021 new version simulation question 1 (with answers)
- 阿里云安装MYSQL5.7
- Educational Codeforces Round 132 (Rated for Div. 2) C,D+AC自动机
- Deep understanding of pytorch distributed parallel processing tool DDP -- starting from bugs in engineering practice
- CTS test introduction (how to introduce interface test in interview)
- 如何让一套代码完美适配各种屏幕?
猜你喜欢

Realize a family security and environmental monitoring system (II)

~4.1 sword finger offer 05. replace spaces

GameFramework制作游戏(一)

CDA level Ⅰ 2021 new version simulation question 1 (with answers)

Alibaba cloud installs mysql5.7

How to design a high concurrency system?

PHP website design ideas

swiper 一侧或两侧露出一小部分

Keys and scan based on redis delete keys with TTL -1

Typora cannot open the prompt to install a new version solution
随机推荐
Matplotlib data visualization three minutes entry, half an hour enchanted?
QObject源码剖析-d指针和q指针
sudo rosdep init Error ROS安装问题解决方案
Goldfish rhca memoirs: cl210 management storage -- object storage
C language and SQL Server database technology
PT100 temperature measurement circuit diagram (AD590 typical temperature measurement circuit)
GameFramework制作游戏(一)
元器件采购系统的主要功能,数字化采购助力元器件企业飞速发展
Easy entry natural language processing series 12 hidden Markov models
Hyperautomation for the enhancement of automation in industries
基于redis的keys、scan删除ttl为-1的key
关于左值和右值的一些问题总结[通俗易懂]
jqgrid全选取消单行点击取消事件
Flask SSTI injection learning
Mysql表的操作
The main function of component procurement system, digital procurement helps component enterprises develop rapidly
NAT/NAPT地址转换(内外网通信)技术详解【华为eNSP】
51单片机学习笔记(2)
Why do China Construction and China Railway need this certificate? What is the reason?
实现一个家庭安防与环境监测系统(一)