从 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' "
现在这个脚本将开始构建索引进程。
将数据从 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' " 现在这个脚本将开始构建索引进程。