首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中引入旧数据库?

在MySQL中引入旧数据库?
EN

Ask Ubuntu用户
提问于 2013-04-26 15:15:26
回答 1查看 1.3K关注 0票数 0

好的,当mysql更新一段时间后,它就坏了。根本就没有开始。所以我试着修好它,但没有成功。

最后,我放弃了,将/var/lib/mysql下的所有目录和文件复制到一个安全的位置,apt清除mysql,然后apt安装mysql。

因此,服务器正在运行,但就我的生活而言,我似乎无法将旧数据库恢复到可用的状态。

我只需从mysql/ gallery3的备份位置复制gallery3 dir,就可以获得gallery3数据库。但实际上我的gallery3安装是不会跟它联系的。:/

可能存在权限问题,但我真的对sql一无所知。

任何帮助都将不胜感激。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2013-05-15 14:43:54

你不会用这种方式把数据库拿回来的。如果您的旧MySQL版本恰好是(!)与您现在使用的目录相同,它可能会工作,但前提是要将当前/var/lib/mysql移动到类似/var/lib/mysql.old的位置,并将旧备份的/var/lib/mysql的所有内容(包括所有子目录)现在移动到/var/lib/mysql。

您的问题是,您只创建了包含数据的文件的原始数据副本,但没有真正备份逻辑。请参阅,如果数据库是像gallery3一样创建的,它会将某些行和数据插入到MySQL DB本身的数据字典中,并插入到“mysql”主模式中。因此,只有在包含数据文件的目录上进行复制是行不通的,因为--让我们称它们为链接--新的MySQL设置中缺少到这些数据文件的链接。

另外,如果您运行默认DB类型为" InnoDB“的旧MySQL安装,并且没有备份/var/lib/mysql中的ibdata1和ib_logfiles0 0/1文件,那么您的数据肯定会丢失,因为InnoDB表完全存储在InnoDB表空间文件(ibdata1)中,并且子目录中的文件中只存储了少量元数据。

在这么大的问题发生之前进行简单备份的最佳方法是将数据库的mysqldump (也称为模式)放入.sql文件并重新插入它。这被称为“逻辑”备份(而不是物理备份),因为它像以前一样转储重建db模式所需的所有逻辑信息。不建议进行物理备份(只有当您确切地知道您正在做什么以及涉及到什么风险时,才建议进行物理备份)。

希望这能帮点忙

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

https://askubuntu.com/questions/286014

复制
相关文章

相似问题

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