面试题:MySQL的原子性和持久性如何保证?
2023-09-11 14:16:49 时间
原子性:undo log
事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部失败回滚。
undo log记录了回滚操作的日志,如果要撤销,按照undo log的回滚日志执行一遍就可以了(保证了原子性)
持久性:redo log
指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的,即使此时再执行回滚操作也不能撤消所做的更改。
持久性就是用redo log,不是每次都写入磁盘,而是定期通过redo log把数据刷入磁盘这样即便断电后,重启mysql还是可以恢复
相关文章
- 【MySql】mysql 慢日志查询工具之mysqldumpslow
- XtraBackup出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- Mysql可扩展性
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- MySQL高可用性之Keepalived+Mysql(双主热备)
- CentOS下httpd下php 连接mysql 本机可以,外网报错Could not connect: Can't connect to MySQL server on '127.0.0.1' (13)2003 原因解析
- 数据库基础之Mysql(3)mysql删除历史binlog
- MySql的多存储引擎架构, 默认的引擎InnoDB与 MYISAM的区别(滴滴 阿里)
- PHP面试题:mysql_fetch_row() 和mysql_fetch_array之间有什么区别?
- PHP面试题:你常用到的mysql命令?
- Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理
- mysql update改动多条数据
- mysql事务级别和spring中应用
- Mysql报错:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- MySQL面试题
- MySQL创建视图(CREATE VIEW)