如何从MarkLogic 10.0-6.1迁移安全数据库至MarkLogic 11.3.1
MarkLogic 10到11安全信息迁移方案建议
两种核心方案对比
1. 直接备份恢复
- 适用场景:新环境完全替代旧环境,想要快速还原所有安全配置
- 操作说明:
- 从MarkLogic 10.0-6.1导出包含
Security数据库的完整备份(这个库是所有用户、角色、权限等安全信息的核心存储) - 在MarkLogic 11.3.1环境中直接恢复该备份
- 从MarkLogic 10.0-6.1导出包含
- 优势:
- 操作简单,不用额外工具,能完整还原所有安全实体,包括用户、角色、权限、证书、加密密钥等
- 保留原有安全配置的所有关联关系,不会出现遗漏
- 注意事项:
- 必须确认备份包含
Security数据库,不然安全信息迁移不了 - 恢复后要做兼容性检查:MarkLogic 11对部分安全规则有优化,比如角色权限的细化,得验证原有配置是否正常生效
- 如果新旧环境集群节点数不一样,恢复前要先调整森林布局配置
- 必须确认备份包含
2. MLCP工具迁移
- 适用场景:只需要迁移部分安全信息,或者需要对迁移内容做筛选、调整
- 操作说明:
- MLCP可以直接导出
Security数据库里的安全实体文档(用户、角色都是以XML/JSON形式存储的) - 导出命令示例:
mlcp export -host old-cluster-host -port 8000 -username admin -password your-admin-pass \ -database Security -output_file_path ./security-data-export - 导入到新环境命令示例:
mlcp import -host new-cluster-host -port 8000 -username admin -password your-new-admin-pass \ -database Security -input_file_path ./security-data-export
- MLCP可以直接导出
- 优势:
- 灵活性高,可以只迁移特定角色、自定义用户,排除系统内置或测试用的安全实体
- 迁移过程中可以对文档做简单转换,比如批量调整角色的权限范围
- 注意事项:
- 要确保导出的安全文档结构在MarkLogic 11中兼容,大部分情况是向下兼容的,但建议先小范围测试
- 系统内置的角色和用户(比如
admin)不建议迁移,避免和新环境的默认配置冲突
最终建议
如果是全环境替换迁移,优先选直接备份恢复,效率最高,还能保证配置的完整性;如果是选择性迁移或者需要调整配置,再用MLCP更合适。另外,不管用哪种方式,迁移完成后一定要做验证:
- 测试所有自定义用户的登录权限
- 检查角色关联的资源权限是否正常生效
- 确认证书、加密密钥等敏感组件能正常使用
内容的提问来源于stack exchange,提问作者marklogic_coder




