mysql 事务 grant权限

2021/6/21 19:29:49

本文主要是介绍mysql 事务 grant权限,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

mysql 课堂笔记

一、创建事务

事务相当于将多个sql语句打包起来

mysql事务四个原则 ACID 原则

1.原子性 要么都执行要么都不执行,一个事物就是一个整体
2.一致性 事物执行,前后数据保持一致,不存在数据丢失。
3.隔离性 在执行过程中对外界保持隔离,操作过程中的数据不能互相访问//事务之间未提交数据不是相互可见
3#隔离有一定的优先级别,默认是最高级别:不可访问操作中的数据;
4.持久性 通过事务提交的数据将永远持久化 正常刷新 保存在硬盘 不能回退;

转账的两个过程:假设 a b 两个账号转账
update accounta set monry= money-1000 where aid=1;
......x.....
update accountb set monry =monry+1000 where bid=1;

如果x过程发生错误,会导致数据丢失,1000大洋丢失;

事务 转账的过程
STATR TRANSACTION;
update accounta set monry= money-1000 where aid=1;
......x.....
update accountb set monry =monry+1000 where bid=1;

COMMIT;
数据会存储到缓存中,(临时数据的形式),如果两条语句都执行成功,提交到硬盘;
ROLLBACK;
如过 存在 任意语句执行失败 ,数据恢复到初始状态 rollback;

一旦commit rollback 事务将自动停止;在此之前数据都是操作中数据,不可见的数据,缓存中的数据;

二、创建用户

create user 'username1'; 创建用户 没有密码
create user 'username2' identify by 8888; 创建用户,设置密码8888
grant select on dbname.table1 to 'username1' ; 把数据库dbname的查询表table1的权限授予用户username1;
grant delete on dbname.* to 'username1' ; 把数据库dbname的删除所有表的权限授予用户username1;

两个权限冲突,在不能查询的情况下无法更新数据库;

grant all on dbname.* to 'username2'; 把数据库dbname的所有权限/具体权限授予用户username2;
grant select,update,insert,delete on dbname.* to 'username2';

drop user 'username1';

三、删除的三种方式

truncate 删除数据保留表结构保留主键位置清除主键id;
delete 清空表内容保留表结构;
drop 删除;



这篇关于mysql 事务 grant权限的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程