设为首页 加入收藏

TOP

关于mydumper的.metadata文件丢失
2015-07-24 10:30:41 来源: 作者: 【 】 浏览:1
Tags:关于 mydumper .metadata 文件 丢失

今天要进行MySQL的数据迁移,所以把数据库通过mydumper工具备份的文件解压后,通过myloader进行导入

但是导入的时间出现这个报错:

** (myloader:766): CRITICAL **: the specified directory is not a mydumper backup


非常奇怪,明明以往导数据都是通过myloader命令可以导入成功的,现在竟然是报错说这个目录不是mydumper的备份文件 查看myloader的源代码,如下
                char *p= g_strdup_printf("%s/metadata", directory);
                if (!g_file_test(p, G_FILE_TEST_EXISTS)) {
                        g_critical("the specified directory is not a mydumper backup\n");
                        exit(EXIT_FAILURE);
                }

判断目录下如果 metadata 文件不存在,则异常退出,而我发现备份目录下却有一个 .metedata 文件,注意是有.前缀的,在linux系统下表示是隐藏文件
于是对比了一下mydumper的版本:
myloader -V
myloader 0.6.2, built against MySQL 5.5.21

而原备份文件的机器是 myloader 0.2.3,表示两个版本不相同, 所以我第一反应是把旧机器的 /usr/local/bin/目录下的 mydumper\myloader 文件直接cp到新机器
再用myloader的话,可以导入成功,问题解决。

后面想了一下,再查看旧版本的 myloader 源码,发现判断文件是否存在是 .metadata ,即旧版本导出的隐藏文件,在新版本中已经不需要隐藏的, 可能是作者觉得没必要隐藏该文件,而且隐藏文件会有一个隐患是容易 cp 不完整,cp默认不拷贝隐藏文件,必须通过 cp -a 才能完整拷贝。

所以,如果用myloader新版程序导入旧版本的备份,可以把备份目录下的 .metadata文件改名为 metadata,也可以导入成功
mv .metadata metadata





】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Dellshareplex与HVR数据复制软件 下一篇expdp后台查看

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·TCP/UDP协议_百度百科 (2025-12-26 12:20:11)
·什么是TCP和UDP协议 (2025-12-26 12:20:09)
·TCP和UDP详解 (非常 (2025-12-26 12:20:06)
·Python 教程 - W3Sch (2025-12-26 12:00:51)
·Python基础教程,Pyt (2025-12-26 12:00:48)