好的,当mysql更新一段时间后,它就坏了。根本就没有开始。所以我试着修好它,但没有成功。
最后,我放弃了,将/var/lib/mysql下的所有目录和文件复制到一个安全的位置,apt清除mysql,然后apt安装mysql。
因此,服务器正在运行,但就我的生活而言,我似乎无法将旧数据库恢复到可用的状态。
我只需从mysql/ gallery3的备份位置复制gallery3 dir,就可以获得gallery3数据库。但实际上我的gallery3安装是不会跟它联系的。:/
可能存在权限问题,但我真的对sql一无所知。
任何帮助都将不胜感激。
发布于 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模式所需的所有逻辑信息。不建议进行物理备份(只有当您确切地知道您正在做什么以及涉及到什么风险时,才建议进行物理备份)。
希望这能帮点忙
https://askubuntu.com/questions/286014
复制相似问题