mysql 是先写入binlog 还是 redolog
时间: 2023-11-08 10:27:14 浏览: 106
MySQL先写入redo log,然后再写入binlog。
当有一个事务提交时,MySQL会先将事务写入到redo log中,然后再将事务写入到binlog中。redo log是用来保证MySQL在崩溃或者断电等异常情况下可以快速恢复数据一致性的,而binlog是用来实现主从复制、数据库备份和恢复等功能的。因此,redo log的写入速度比binlog更快,而binlog则更适合持久化数据。
相关问题
mysql binlog和redolog
MySQL的redolog和binlog都是用来记录数据库操作的日志,但是它们的作用和使用场景是不同的。
redolog是InnoDB存储引擎特有的日志,用于记录事务的操作,包括对数据的修改、插入和删除等。redolog是在内存中缓存的,当事务提交时,会将redolog写入磁盘中的redo log文件中,以保证数据的持久性。
binlog是MySQL服务器的日志,用于记录所有的数据库操作,包括对数据的修改、插入和删除等。binlog是在磁盘上的文件,可以用于数据备份、恢复和复制等操作。
因此,redolog主要用于保证事务的原子性和持久性,而binlog主要用于数据备份、恢复和复制等操作。
mysql的事务提交是数据写入binlog后,还是写入redolog
MySQL事务提交包括两个部分:
1.将事务的所有操作操作写入 redo log。
2.将 redo log 的数据写入磁盘,确保数据的持久化。
在事务提交时,MySQL会先将事务的所有操作写入 redo log,然后将 redo log 的数据写入磁盘,从而确保数据的持久化。然后,MySQL会将事务的提交操作写入 binlog,以便进行数据备份和恢复操作。因此,MySQL事务提交时,先写入 redo log,再写入 binlog。
阅读全文