MySQL InnoDB checkpoint mechanism
InnoDB implements the checkpoint mechanism by invoking a fuzzy checkpoint. InnoDB refreshes modified database pages from the buffer pool in small batches. This eliminates the need to refresh the entire buffer pool in one batch
Because of this truth, it is possible to stop the user SQL statement from running the process for a period of time.
In crash recovery InnoDB checks the checkpoint label recorded in the log file when the crash is repaired. It knows that all changes to the database before the label have been recorded in the disk mirror of the database.
InnoDB then scans the log after the checkpoint in the log file and logs the changes to the database.
InnoDB records the log file in a circular manner. All committed changes that make the database pages in the buffer pool different from the disk mirror must be recorded in the log file in case InnoDB needs to be restored.
This means that InnoDB re-enables a log file in a circular manner, and it must make sure that the operation log results in the log file that will be reused have been included in the disk image file. In another sentence,
That is, InnoDB must frequently establish checkpoints and update modified database pages to disk.