我已经更改了服务器映像的配置。我已经启动了使用新配置的服务器。我可以使用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
MLCP提供了一个snapshot
标志,以确保整个运行给出一致的结果:
-snapshot <true,false> Whether to use a consistent
timestamp to fetch data from the
source database
应该适用于export
和copy
。
关于推动更新:您可以重复MLCP copy
,但是使用停电期可能更容易;您禁止系统中更新的时期。您可以通过将森林置于仅阅读模式的方式来强制执行。
另外,您也可以考虑数据库复制。在本指南中阅读有关此信息的更多信息:
http://docs.marklogic.com/guide/database-replication
hth!