首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否将ib_logfiles包含在备份中?

是否将ib_logfiles包含在备份中?
EN

Stack Overflow用户
提问于 2008-11-18 10:15:36
回答 1查看 3.7K关注 0票数 3

简短的问题:

在使用InnoDB引擎创建MySQL安装的自定义备份时跳过ib_logfile*文件安全吗?

定制备份只需将/var/lib/mysql + /etc/my.cnf全部(或子集)复制到安全位置。

据我所知,MySQL在start +上重新创建了ib_logfile*文件,这些文件真的很大,所以将它们存储在备份中可能并不明智。是的,假设在备份之前(正确地)停止了MySQL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-11-19 02:23:06

以您所描述的方式备份数据库是不安全的。

原因是您无法知道某些数据页是否仍在MySQL服务器的内存中,等待I/O刷新到磁盘。因此,无论是否包含ib_log文件,复制文件都很有可能复制垃圾文件。

不要做你正在做的事情。使用mysqlbackup或InnoDB的Hot Backup产品。

编辑:

请阅读Farhan Mashraqi关于InnoDB Performance Optimization的博客文章,他在文章中说,如果您已经关闭了ib_log服务器,您可以删除MySQL文件。

InnoDB日志大小调整:不像更改选项和重新启动那么简单。您需要关闭MySQL服务器,并确保其正常关闭(请查看错误日志以确认错误)。然后移走InnoDB日志文件ib_log*。然后启动MySQL服务器并检查错误日志文件,以查看它是否成功创建了新的日志文件。

所以,是的,您应该只能复制ibdata文件的文件系统。您不需要包含ib_log文件,因为它们应该在MySQL服务器启动时重新创建。但是,我重申,我不建议使用文件系统副本备份数据库。

假设您现在使用MySQL 5.0以这种方式备份数据库。有一天,您需要恢复备份,但到那时,您将使用一些未来的版本,例如MySQL 6.5。在该未来版本中,ib_data文件是否仍使用相同的内部格式?MySQL 6.5会读取你今天备份的那些文件吗?你不能确定。备份格式旨在使其更易于移植。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/298350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档