当前位置:网站首页>MySQL log module of InnoDB engine
MySQL log module of InnoDB engine
2022-07-05 12:16:00 【The king of early rising】
Updating the database SQL Statement execution , use redo log and binlog Two log modules .
The process is as follows :
analyzer -> Permission to check -> actuator -> engine redo log(prepare state ) -> binlog -> redo log(commit state )
Catalog
Why do update operations need two log modules ?
Log access order of update operation
redo log
Redo log .InnoDB Rollback function supported by the engine , It is based on this log .
Changes to the database , That is, add, delete, and modify , It will be recorded in redo log in .
When there is an accident , When the data in the database is wrong , According to redo log Do rollback .
binlog
Archive log . yes MySQL My own journal .
Cannot support transaction rollback , But it can realize data backup .
Why do update operations need two log modules ?
In theory , As far as the update operation itself is concerned , A log module can solve the problem .
But here we see , Two log modules , Different attribution . One is MySQL Self contained , The other is InnoDB Engine implementation .
Log access order of update operation
Notice that the access order of logs in the update operation is like this :
redo log(prepare state ) -> binlog -> redo log(commit state )
This is to maintain the data consistency of the two logs .
If you write first redo log To write binlog , There is an accident in the middle , The machine stops working . After restart , The machine will according to redo log Restore data , And in the binlog There is no record in the , When it comes to backup , You lose this piece of data .
If you write first binlog , Post write redo log , There is an accident in the middle , Data cannot be recovered , But there are records .
Follow the crossover operation , If it's done redo log(prepare state ) -> binlog There was an accident , You can rely on MySQL Processing mechanism of .
Judge redo log Is it complete , If complete, submit .
redo log No, commit , Go and see binlog Is it complete .
complete , Then submit redo log Of commit state .
Incomplete , Roll back .
Okay , That's all for the canto .
Keep early hours , take care . The king of early rising wishes you good luck !
边栏推荐
猜你喜欢
[yolov5.yaml parsing]
强化学习-学习笔记3 | 策略学习
The most comprehensive new database in the whole network, multidimensional table platform inventory note, flowus, airtable, seatable, Vig table Vika, flying Book Multidimensional table, heipayun, Zhix
7月华清学习-1
mmclassification 训练自定义数据
Mmclassification training custom data
Redis master-slave mode
The survey shows that traditional data security tools cannot resist blackmail software attacks in 60% of cases
mysql拆分字符串做条件查询
[configuration method of win11 multi-user simultaneous login remote desktop]
随机推荐
Liunx prohibit Ping explain the different usage of traceroute
July Huaqing learning-1
ABAP table lookup program
[yolov3 loss function]
Riddle 1
mmclassification 训练自定义数据
Multi table operation - Auto Association query
MySQL index (1)
什么是数字化存在?数字化转型要先从数字化存在开始
Vscode shortcut key
Master the new features of fluent 2.10
codeforces每日5题(均1700)-第五天
多表操作-自关联查询
MySQL basic operation -dql
信息服务器怎么恢复,服务器数据恢复怎么弄[通俗易懂]
Reading notes of growth hacker
2022年国内云管平台厂商哪家好?为什么?
Error modulenotfounderror: no module named 'cv2 aruco‘
Codeforces Round #804 (Div. 2)
1 plug-in to handle advertisements in web pages