1

我已经更改了服务器映像的配置。我已经使用新配置启动了服务器。我可以使用 mlcp 副本将所有数据从一台服务器移植到另一台服务器(参见前面的类似脚本)。我相信我不能允许在交易发生时编辑数据。那是从复制开始,到新服务器重新链接时,我无法在旧服务器上编辑数据。我只能在复制开始后读取数据。

我可以使用 mlcp 推送更新吗?我是否可以允许在服务器上进行编辑,同时传输数据,并且仍然保持数据一致?

# moves all data in databases from a server to another server
# usage: ./copy.sh someServer.com anotherServer.com 
from=$1
to=$2

# input security database first so that the users are added
mlcp.sh copy -mode local -input_host $from -input_port 8000 \
    -input_username admin -input_password password \
    -input_database Security \
    -output_database Security \
    -output_host $to -output_port 8000 -output_username admin \
    -output_password password

mlcp.sh copy -mode local -input_host $from -input_port 8000 \
    -input_username admin -input_password password \
    -input_database Documents \
    -output_database Documents \
    -output_host $to -output_port 8000 -output_username admin \
    -output_password password
4

1 回答 1

3

MLCP 提供了一个snapshot标志来确保整个运行给出一致的结果:

-snapshot <true,false>               Whether to use a consistent
                                     timestamp to fetch data from the
                                     source database

应该适用于exportcopy

关于推送更新:您可以重复 MLCP copy,但使用停电期可能更容易;您在系统中不允许更新的时期。您可以通过在源端将森林置于只读模式来强制执行此操作。

或者,您也可以考虑数据库复制。在本指南中阅读有关此内容的更多信息:

http://docs.marklogic.com/guide/database-replication

于 2016-12-05T08:04:29.587 回答