如何在平台之间复制 MarkLogic 数据库

How to copy MarkLogic database between platforms

我需要确认将数据库从 Linux ML 9.x 服务器复制到 Windows ML 9.x 服务器的过程,并想确保我理解正确。

显然我无法使用在 Linux 上创建的 ML 数据库备份来恢复到 Windows 服务器上。

这是我认为的高级流程,欢迎 correction/assistance 拜托:

在 Linux 源服务器上:

(1) 导出源服务器上的数据库配置(到文件)

xquery version "1.0-ml";
 import module namespace admin = "http://marklogic.com/xdmp/admin" 
     at "/MarkLogic/admin.xqy";
 let $config := admin:get-configuration()
 let $config := admin:database-copy($config,xdmp:database("<The_existing_db>"),"<The_new_database>")

(2) 导出源服务器上的所有林结构(到文件 - 这些存储在磁盘上的什么位置?)

xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin" 
     at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $config := admin:forest-copy($config,xdmp:forest("<original_forest>"),"<forest_copy>",())

(3) 使用 mlcp 导出源数据(至 file/s - 或 db?)

在 Windows 目标服务器上:

(4) 从导出的配置文件创建新数据库 (5) 从导出的林配置文件创建林并附加到数据库 (6) 使用mlcp从导出文件中导入数据

我有没有漏掉/弄错了什么?

提前致谢。

要在平台之间移动数据,请使用 MLCP 并要求它进行存档。请参阅相关文档 https://docs.marklogic.com/guide/mlcp/export#id_93332

要移动配置,您可以使用 Configuration Manager (https://docs.marklogic.com/guide/admin/config_manager) but it’s deprecated because the best practice these days is to script the construction of all things, perhaps with ml-gradle (https://developer.marklogic.com/code/ml-gradle/),并将这些构建脚本签入您的源代码管理和跨多个环境控制配置。