关于mydumper的.metadata文件丢失

来源:互联网 发布:淘宝联盟要认证怎么弄 编辑:程序博客网 时间:2024/06/07 01:58

今天要进行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 -Vmyloader 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





0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被仙人掌的小细绒刺扎到怎么办 值机截止了怎么办 社保卡消磁了怎么办 住宾馆没身份证怎么办 社保卡电话错误怎么办 没住过酒店怎么办 上海合规网约车证件怎么办 取票没有身份证怎么办 买车票没有身份证怎么办 登机身份证丢了怎么办 飞机没带身份证怎么办 上飞机没带身份证怎么办 机场没带身份证怎么办 儿童坐飞机没有户口本怎么办 不需要行李托运化妆品怎么办 坐飞机被限制了怎么办 坐飞机没买保险怎么办 飞机起飞时难受怎么办 婴儿坐飞机没座位怎么办 转机行李不直达怎么办 儿童自己坐飞机怎么办手续 两岁宝宝发烧怎么办 网上购票待核验怎么办 老人坐飞机找不到登机口怎么办 儿童不能值机怎么办 飞机上旅客刁难怎么办 飞机上婴儿哭闹怎么办 飞机上婴儿啼哭怎么办 飞机儿童陪护手续怎么办 孕妇感冒鼻子堵怎么办 孕妇用了眼药水怎么办 孕妇用眼药水了怎么办 错过了登机时间怎么办 过了登机时间怎么办 孩子不喜欢做作业怎么办 宝宝腿不一样粗怎么办 一个小腿肿了怎么办 左右小腿不一样粗怎么办 小孩不敢自己睡怎么办 小孩不一个人睡怎么办 晚上一个人睡觉害怕怎么办