概述
文章目录
- 触发器
- 触发器的操作
- 触发器的优缺点
- 权限管理
- 角色
- 用户
- 小结
触发器
对于数据进行手动操作的话,很容易会忘记其中的一步, 导致数据丢失。
触发器的操作
-- 创建语法
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 账号。
最后
以上就是坚强项链为你收集整理的【MySQL必知必会】触发器 | 权限管理触发器权限管理的全部内容,希望文章能够帮你解决【MySQL必知必会】触发器 | 权限管理触发器权限管理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复