如果数据的写入直接操作数据文件是非常危险的事情,所以利用日志来实现间接写入。
mysqlz总共有5中日志,其中只有redo日志和undo日志与事务有关。

事务机制

RDBMS=SQL语句+事务(ACID)

  • 事务是一个或者多个SQL语句组成的整体,要么全部执行成功,要么全部执行失败。
  • 事务
    (1)开启事务
    (2)update语句
    (3)delete语句
    (4)提交事务

管理事务

  • 默认情况下,mysql执行每条sql语句都会自动开启和提交事务
  • 为了让多条sql语句纳入到一个事务之下,可以手动管理事务。
START TRANSACTION
SQL 语句
[COMMIT|ROLLBACK]

执行

start transaction;
delete from t_emp

后,select * from t_emp 表中无数据
但查看表时,表中仍有数据
说明还未同步到数据文件中;
此时执行commit;再查看表,表中已无数据。说明已经提交同步到数据文件。

执行

start transaction;
delete from t_emp;
rollback;

表中仍有数据。select * from t_emp;也有数据。

事务的ACID属性

1.事务的原子性

一个事务中的所有操作要么全部完成,要么全部失败。事务执行后,不允许停留在中间某个状态。

2.事务的一致性

不管在任何给定的时间、并发事务有多少,事务必须保证运行结果的一致性。

3.隔离性
  • 隔离性要求事务不受其他并发事务的影响,如同在给定的时间内,该事务是数据库唯一运行的事务。
  • 默认情况下,A事务只能看到日志中该事务的相关数据。
4.持久性

事务一旦提交,结果便是永久性的。即便发生宕机,仍然可以依靠事务日志完成数据的持久化。

事务的4个隔离级别

序号 隔离级别 功能
1 read uncommitted 读取未提交数据
2 read committed 读取已提交数据
3 repeatable read 重复读取
4 serialiazble 序列化

修改事务的隔离级别

  • read uncommitted 代表可以读取其他事务未提交的数据
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;


  • read committed 代表只能读取其他事务提交的数据
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;

- repeatable read 代表事务在执行中反复读取数据,得到的结果是一致的,不会受其他事务影响。

SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;

设置 repeatable read 后,开启事务后,要先执行相应select查询,别的事务的操作才不会对其造成影响。如下图。
如先执行再select sal 则读取的数据就为1了。

事务的序列化

  • 由于事务并发执行所带来的各种问题,前三种隔离级别只使用于在某些场景中,但序列化的隔离性,让事务逐一执行,就不会产生上述问题。
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;

数据导出与备份的区别

  • 数据导出,导出的纯粹是业务数据
  • 数据备份,备份的事数据文件,日志文件,索引文件等等。
  • 全量备份->增量备份1->增量备份2
    ##### 导出sql文件
  • mysqldump 用来吧业务数据导出成sql文件,其中也包括了表结构。
mysqldump -uroot -p [no-data] 逻辑库 > 路径

复制mysqldump的路径到高级系统设置->环境变量->系统变量->path中

导入sql文件
  • source 命令用于导入sql文件,包括创建数据库,写入记录等。
mysqld -uroot -p;#登录;
use school;
source teacher.sql;

mysql 事务机制相关推荐

  1. mysql事务机制_MySQL系列:事务机制

    一.MySQL并发访问控制 1.并发控制机制 (1)锁机制 资源竞争时候,多个线程表示多个用户会话:通过读写锁机制实现 读锁:共享锁,可以多个用户同时读取同一资源文件 写锁:独占锁,当一个用户对资源文 ...

  2. mysql查看版本号_十分钟了解MySQL事务机制

    读书百遍其义自现. MySQL数据库在我们平时工作学习中的使用频率是相当之高,彻底掌握MySQL的事务机制对我们平时工作会有非常大的帮助,仔细回忆一下,你是否对MySQL事务相关的知识是否完全掌握?是 ...

  3. Mysql事务以及加锁机制事务的特征ACID

    Mysql事务以及加锁机制 事务的特征ACID,即原子性.一致性.隔离性.持久性. 原子性保证一个事务为一个最小的单元,内部不可分割: 一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成 ...

  4. MySQL事务以及加锁机制

    事务的特征ACID,即原子性.一致性.隔离性.持久性. 原子性保证一个事务为一个最小的单元,内部不可分割: 一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成功则事务回滚: 隔离性保证不 ...

  5. mysql事务会不会上锁_MySQL事务以及加锁机制

    事务的特征ACID,即原子性.一致性.隔离性.持久性. 原子性保证一个事务为一个最小的单元,内部不可分割: 一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成功则事务回滚: 隔离性保证不 ...

  6. mysql不可重复读是锁的表吗,Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)...

    . 例如: 张三的工资为5000,事务A中获取工资为5000,事务B获取工资为5000,汇入100,并提交数据库,工资变为5100, 随后 事务A发生异常,回滚了,恢复张三的工资为5000,这样就导致 ...

  7. mysql 事务 不同库_MYSQL数据库重点:事务与锁机制

    一.事务 一组连续的数据库操作,每一次操作都成功,整个事务就成功,只要有一步出错,整个事务就失败: MySQL事务与存储引擎相关 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB: ...

  8. 【MySQL进阶】MySQL事务隔离与锁机制底层原理万字总结(建议收藏!!)

    [MySQL进阶]MySQL事务隔离与锁机制底层原理万字总结(建议收藏!!) 参考资料: 美团技术团队:Innodb中事务隔离级别和锁的关系 数据库的锁,到底锁的是什么? 阿里面试:说说一致性读实现原 ...

  9. Mysql事务隔离机制

    SQL隔离机制: 所谓隔离机制,指的是读与写之间的隔离,指的是在多事务并行的时候,A事务的读与B事务的写之间的隔离,也就是说B事务的写对A事务的可见性. 多事务并发运行的时候,同时读写一个数据,可能会 ...

最新文章

  1. YOLO3升级优化版!Poly-YOLO:支持实例分割!
  2. 阿里云重磅推出物联网安全运营中心Link SOC
  3. Linux学习之CentOS(三十四)--配置域主DNS服务器
  4. (iOS-框架封装)iOS设计模式——MVC模式
  5. jenkins配置用户权限
  6. 发明了计算机科学中的 bug 一词的是,为什么经常把计算机中存在的问题叫bug?...
  7. excel中如何添加下拉选择框
  8. python全栈测试题(一)
  9. 网络运维超融合服务器,15. 通过 Openfiler 软件:配置 ISCSI 和
  10. 栈 -- 4.1.1 Valid Parentheses I-II -- 图解
  11. 管道泄漏监测系统分布式光纤测温技术方案
  12. linux安装系统时安装多路径包,红帽子linux安装配置多路径
  13. uniapp使用百度地图
  14. 城市简码_WordPress的自定义简码
  15. 2004-10-30 周六
  16. 局部路径规划算法-DWA动态窗口法
  17. 计算机工作无法更改,win10系统计算机工作组名称无法更改的操作方案
  18. uIP1.0 主动发送的问题理解
  19. 使用SSD网络模型进行Tensorflow物体检测(V1.1摄像头检测)
  20. php导出数字0,php导出excel分析(phpexcel-避免数字前面的0消失)

热门文章

  1. 微信公众号模板消息换行符号
  2. @Primary 使用
  3. 关于Java垃圾回收问题的总结
  4. 逻辑代数:逻辑运算与定理,代数化简
  5. 修复 IDEA 使用 Gradle 构建出错时的乱码问题(maven项目转Gradle后乱码,并报“错误,找不到符号”)
  6. angular关于select的留白问题
  7. citus调研(三)- 优势与限制
  8. 基于UI组件的Vue可视化布局、快速生成.vue代码
  9. 在win10系统中安装Visual C++ 6.0的具体方法
  10. 应用层: HTTP 与 HTTPS协议