undo log记录了这些回滚需要的信息,当事务执行失败或调用了rollback,导致事务需要回滚,便可以利用undo log中的信息将数据回滚到修改之前的样子 。
ps:具体的undo log日志长啥样,这个可以写一篇文章了 。而且写出来,看的人也不多,姑且先这么简单的理解吧 。
问题三: Mysql怎么保证持久性的?
OK,是利用Innodb的redo log 。
正如之前说的,Mysql是先把磁盘上的数据加载到内存中,在内存中对数据进行修改,再刷回磁盘上 。如果此时突然宕机,内存中的数据就会丢失 。
推荐阅读
- MySQL的五种日期和时间类型
- 一文看懂如何隐藏或者修改nginx信息
- MySQL 性能优化的 21 个最佳实践
- mysql数据库常用语句总结
- C语言如何操作MySQL数据库?
- 对赌协议,签还是不签?一文详解对赌协议,附模板
- MySQL数据库中,同样是删除数据,truncate与delete语句的区别
- 详解MySQL数据库JSON类型--用法、意义、内置函数
- 一份实用的mysql数据库规范,值得收藏
- 教你如何优雅地用Python连接MySQL数据库