mysql中InnoDB崩溃恢复过程的示例分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关mysql中InnoDB崩溃恢复过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、redo log操作:保证已提交事务影响
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
咖啡网
保险科技 互联网保险
互联网和科技创新
涨乐互联网科技
科技互联网公司装修
唐信互联网科技
广州宏创互联网科技
成都互联网科技公司
贷财互联网科技
撒么互联网科技公司
人人互联网科技是培训
中国互联网金融科技基金
广西拼得多互联网科技有限公司
上海科技产业互联网平台
科技互联网行业投资研究
容联科技互联网电商
互联网科技职业技能培训学校
盐城市攀科互联网科技有限公司
互联网对科技影响
杭州科技互联网公司有哪些
互联网金融 金融科技
高科技与互联网
互联网科技咨询
成都仁贤领冠互联网科技有限公司
青岛中康互联网医疗科技有限公司
中国科技创新与世界互联网大会
科技互联网的核心竞争力
东营紫格互联网科技
互联网科技企业商标注意事项
互联网科技机房