从 Tokumx 1.5 迁移到 mongodb 3.11 的 Percona 服务器

Migration From Tokumx 1.5 To Percona Server For mongodb 3.11

将数据从 Tokumx 迁移到 Percona Server For MonoDB

第 1 步: 本指南介绍了如何将现有的 Percona TokuMX 实例升级到 MongoDB 的 Percona Server。执行升级需要以下 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

这是我在 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

欢迎任何帮助。 谢谢

检查 tokumxIndexes.json 文件。当 tokumx_dump_indexes.js 为 运行 时,必须使用 mongo shell 参数 --quiet 否则生成的 json 将包含 shell 序言开始。

并使用类似 http://jsonlint.com/

的方式检查文件

此外,如果存在前导码,请从 tokumxIndexes.json 文件中删除这两行。 "MongoDBshell版本:3.0.11-1.6 连接到:127.0.0.1:27017/test

和 运行 脚本。 和 运行 脚本 $./psmdb_restore_indexes.js --eval "data='/your/dump/path/tokumxIndexes.json' " 现在这个脚本将开始构建索引进程。