mysql的事务提交是数据写入binlog后,还是写入redolog
时间: 2024-01-09 19:58:30 浏览: 34
MySQL事务提交包括两个部分:
1.将事务的所有操作操作写入 redo log。
2.将 redo log 的数据写入磁盘,确保数据的持久化。
在事务提交时,MySQL会先将事务的所有操作写入 redo log,然后将 redo log 的数据写入磁盘,从而确保数据的持久化。然后,MySQL会将事务的提交操作写入 binlog,以便进行数据备份和恢复操作。因此,MySQL事务提交时,先写入 redo log,再写入 binlog。
相关问题
mysql 是先写入binlog 还是 redolog
MySQL先写入redo log,然后再写入binlog。
当有一个事务提交时,MySQL会先将事务写入到redo log中,然后再将事务写入到binlog中。redo log是用来保证MySQL在崩溃或者断电等异常情况下可以快速恢复数据一致性的,而binlog是用来实现主从复制、数据库备份和恢复等功能的。因此,redo log的写入速度比binlog更快,而binlog则更适合持久化数据。
MySQL怎么保证redo log和binlog的数据是一致的?
MySQL通过两个标记来保证redo log和binlog数据的一致性,这两个标记分别是binlog group commit和sync binlog。binlog group commit将多个事务的写入操作合并到一起,只有达到一个阈值或者超时才会将操作写入binlog文件,从而保证多个事务的操作是一致的。sync binlog则是指MySQL在将事务操作写入binlog文件之前,必须先将redo log数据刷到磁盘上才能保证数据的一致性。