原始数据库文件,扩展名为。mdf和。ldf,使用“附加数据库”功能进行恢复。
扩展名可变的备份数据库文件通常是。dat文件,在还原此类文件时会使用“还原数据库”功能。
重建数据库时压测环境没有备份,但是另一套测试环境的表结构与压测环境一致,只是数据有所差异,所以,获取表结构比较容易。导入表结构没有什么好说明的地方,注意导入 SQL 的权限和字符集。 重建表空间注:此小节对应恢复步骤的 。由于是整库恢复,数据库和表较多,所以使用脚本处理。大概的处理流程是,两层循环,外层循环数据库列表,内层循环对应数据库表列表。然后依次 DISCARD TABLESPACE、拷贝对应库对应表的 ibd 文件到对应目录并更改权限、IMPORT TABLESPACE。之前分析过,由于新旧的 ibd 文件表空间 id 不一致,导致不能正确导入。在 MySQL 错误日志中记录了表名、新旧表空间 id,接下来我们看看怎么分解。 分析 MySQL 错误日志注:此小节对应恢复步骤的和 。这一步很有意思。所有的数据库表累计,不可能使用人工处理,我们得想点取巧的办法。我们发现 MySQL 错误日志记录的表名、新旧表空间 id 很有规律,我们只需要依次取出这些值,问题就解决一大半了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)