将数据从 Tokumx 迁移到用于 MonoDB 的 Percona 服务器
第 1 步:本指南介绍如何将现有 Percona TokuMX 实例升级到 Percona Server for MongoDB。执行升级需要以下 JavaScript 文件:
• allDbStats.js
• tokumx_dump_indexes.js
• psmdb_restore_indexes.js
您可以从 GitHub 下载这些文件。
第 2 步:运行 allDbStats.js 脚本以记录迁移前的数据库状态: $ mongo ./allDbStats.js > ~/allDbStats.before.out
第 3 步:执行数据库转储: $ mongodump --out /your/dump/path
第 4 步:执行索引转储: $ ./tokumx_dump_indexes.js > /your/dump/path/tokumxIndexes.json
第 5 步:使用“--noIndexRestore”开关恢复没有索引的集合: $ mongorestore --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
这是我在从 Tokumx 迁移到 mongodb 的 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
欢迎任何帮助。谢谢