为MonoDB将数据从Tokumx迁移到Percona服务器
步骤1:本指南描述如何将现有的Percona TokuMX实例升级到用于MongoDB的Percona。执行升级所需的JavaScript文件如下:
• allDbStats.js
• tokumx_dump_indexes.js
• psmdb_restore_indexes.js您可以从GitHub下载这些文件。
步骤2:在迁移之前运行allDbStats.js脚本来记录数据库状态:$ mongo ./allDbStats.js >~/allDbStats.pre.out
步骤3:执行数据库的转储:$ mongodump out /your/ dump /path
步骤4:执行索引的转储:$ ./tokumx_ dump _indexes.js > /your/dump/path/tokumxIndexes.json
步骤5:使用“-noIndexRestore”开关恢复不带索引的集合:$mongo还原-noIndexRestore /your/dump/path
步骤6:恢复索引(这可能需要一段时间)。此步骤将在插入之前移除集合中的群集选项。
$./psmdb_restore_indexes.js -eval "data='/your/dump/path/tokumxIndexes.json‘“
步骤7:
迁移后运行allDbStats.js脚本以记录数据库状态:
mongo ./allDbStats.js > ~/allDbStats.after.out这是我在mongodb从Tokumx迁移到Percona服务器中找到的指南。在步骤6中,当我试图恢复索引时,我得到了下面提到的错误:
/mnt/tokumx-bkup/tokumxIndexes.json
2016-06-29T05:28:20.028+0000 E QUERY SyntaxError: Unexpected identifier
at /tmp/tokumx2_to_psmdb3_migration-master/psmdb_restore_indexes.js:78:1 at /mnt/tokumx-bkup/tokumxIndexes.json
2016-06-29T05:28:20.028+0000 E QUERY Error: error loading js file: /mnt/tokumx-bkup/tokumxIndexes.json
at /tmp/tokumx2_to_psmdb3_migration-master/psmdb_restore_indexes.js:78:1 at /tmp/tokumx2_to_psmdb3_migration-master/psmdb_restore_indexes.js:78加载失败: /tmp/tokumx2_to_psmdb3_migration-master/psmdb_restore_indexes.js
任何帮助都将受到欢迎。谢谢
发布于 2016-06-30 07:22:52
检查tokumxIndexes.json文件。运行tokumx_dump_indexes.js时,必须使用mongo参数--静默,否则产生的json将在开头包含shell前导。
并使用类似于http://jsonlint.com/的方法检查该文件
另外,如果存在序言,请从tokumxIndexes.json文件中删除这两行。"MongoDB外壳版本: 3.0.11-1.6连接到:127.0.0.1:27017/测试“
然后再运行脚本。并再次运行该脚本$./psmdb_restore_indexes.js -eval "data='/your/dump/path/tokumxIndexes.json‘“现在该脚本将启动build进程。
https://stackoverflow.com/questions/38091106
复制相似问题