一、重做日志的归档
1、重做日志归档的作用
mysql在数据备份过程中,可能会复制Redo Log,如果这期间mysql频繁变更,那么复制Redo Log的速度,就跟不上Redo Log的生成速度,因为Redo Log是以覆盖方式记录的,就可能会丢失部分RedoLog。
MySQL8.0.17引入了Redo Log归档,按照Redo Log顺序,写入归档文件中,来解决备份中RedoLog丢失等情况。
2、创建用于重做日志归档的文件夹
mkdir -p /data/mysql/redolog-archiving/redo-20300101
chown -R mysql.mysql /data/mysql/redolog-archiving/
chmod 700 /data/mysql/redolog-archiving/redo-20300101/
3、启用Redo Log归档
set global innodb_redo_log_archive_dirs = "redolog-archiving:/data/mysql/redolog-archiving/";
do innodb_redo_log_archive_start("redolog-archiving","redo-20300101");
停止Redo Log归档
do innodb_redo_log_archive_stop();
二、重做日志的禁用
1、禁用重做日志
alter instance disable innodb redo_log;
show global status like "Innodb_redo_log_enabled";
关闭 redo_log
后,写入操作可以跳过记录 redo_log
的步骤,从而减少磁盘 I/O 操作,提高写入速度。在某些场景下,如大量数据导入,关闭 redo_log
可以显著提升性能。