mysql中InnoDB崩溃恢复过程的示例分析
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关mysql中InnoDB崩溃恢复过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、redo log操作:保证已提交事务影响
千家信息网最后更新 2025年11月07日mysql中InnoDB崩溃恢复过程的示例分析
这篇文章将为大家详细讲解有关mysql中InnoDB崩溃恢复过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1、redo log操作:保证已提交事务影响的最新数据刷到数据页里。
2、undo log操作:保证未提交事务影响的数据页回滚。
3、写缓冲(change buffer)合并。
4、purge操作。
InnoDB的一种垃圾收集机制,使用单独的后台线程周期性处理索引中标记删除的数据。
实例
/* Look for MLOG_CHECKPOINT. */recv_group_scan_log_recs(group, &contiguous_lsn, false);/* The first scan should not have stored or applied any records. */ut_ad(recv_sys->n_addrs == 0);ut_ad(!recv_sys->found_corrupt_fs); if (recv_sys->found_corrupt_log && !srv_force_recovery) {log_mutex_exit();return(DB_ERROR);} if (recv_sys->mlog_checkpoint_lsn == 0) {if (!srv_read_only_mode && group->scanned_lsn != checkpoint_lsn) {ib::error() << "Ignoring the redo log due to missing"" MLOG_CHECKPOINT between the checkpoint "<< checkpoint_lsn << " and the end "<< group->scanned_lsn << ".";if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {log_mutex_exit();return(DB_ERROR);}} group->scanned_lsn = checkpoint_lsn;rescan = false;} else {contiguous_lsn = checkpoint_lsn;rescan = recv_group_scan_log_recs(group, &contiguous_lsn, false); if ((recv_sys->found_corrupt_log && !srv_force_recovery) || recv_sys->found_corrupt_fs) {log_mutex_exit();return(DB_ERROR);}} /* NOTE: we always do a 'recovery' at startup, but only ifthere is something wrong we will print a message to theuser about recovery: */ if (checkpoint_lsn != flush_lsn) { if (checkpoint_lsn + SIZE_OF_MLOG_CHECKPOINT < flush_lsn) {ib::warn() << " Are you sure you are using the"" right ib_logfiles to start up the database?"" Log sequence number in the ib_logfiles is "<< checkpoint_lsn << ", less than the"" log sequence number in the first system"" tablespace file header, " << flush_lsn << ".";} if (!recv_needed_recovery) { ib::info() << "The log sequence number " << flush_lsn<< " in the system tablespace does not match"" the log sequence number " << checkpoint_lsn<< " in the ib_logfiles!"; if (srv_read_only_mode) {ib::error() << "Can't initiate database"" recovery, running in read-only-mode.";log_mutex_exit();return(DB_READ_ONLY);} recv_init_crash_recovery();}} log_sys->lsn = recv_sys->recovered_lsn; if (recv_needed_recovery) {err = recv_init_crash_recovery_spaces(); if (err != DB_SUCCESS) {log_mutex_exit();return(err);} if (rescan) {contiguous_lsn = checkpoint_lsn;recv_group_scan_log_recs(group, &contiguous_lsn, true); if ((recv_sys->found_corrupt_log && !srv_force_recovery) || recv_sys->found_corrupt_fs) {log_mutex_exit();return(DB_ERROR);}}} else {ut_ad(!rescan || recv_sys->n_addrs == 0);}关于"mysql中InnoDB崩溃恢复过程的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
数据
篇文章
示例
过程
分析
事务
更多
保证
影响
不错
实用
内容
后台
周期
周期性
垃圾
实例
文章
机制
标记
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
自学网络安全好找工作吗
apache服务器安全沙箱
青海省网络安全委员会
学校服务器安全等级保护
检测数据库文件在哪里
新东方软件开发是什么单位
服务器安全加固 价格
速达的数据库名
求生之路二官方服务器
数据库中的三级模式
创魔微端服务器
web项目数据库一直连接卡住
电信服务器备案
锐志网络技术
x焦点 网络安全
松江区自动化软件开发厂家直销
镇网络安全和信息
iT数据库管理薪资待遇
数据库最广泛使用的是什么型
苏州银行软件开发年薪
SQL数据库学习自律软件
软件开发服务赵问涵
网络安全进校园文件
厦门草蜢网络技术有限
口红机app软件开发
url地址分隔服务器地址的符号
先学计算机还是网络技术
数据库原理体系
想学软件开发学什么专业好
抗战胜利 网络安全借势营销