您的位置:首页 > 数据库 > Mongodb

MongoDB 复制数据库 Clone Database

2017-03-18 14:27 441 查看
转自:http://xiayuanfeng.iteye.com/blog/983861


复制数据库Clone Database

MongoDB有一个命令可以在不同的服务器之间拷贝数据库。

// 从一个服务器复制一个完整的数据库到以一个服务器。忽略 <from_hostname> 

//是在同一服务器之间进行数据库复制

// 这个命令必须运行于复制目标的服务器上。

db.copyDatabase(<from_dbname>, <to_dbname>, <from_hostname>);

// 如果复制源服务器需要验证,命令如下

db.copyDatabase(<from_dbname>, <to_dbname>, <from_hostname>, <username>,

 <password>);

// 命令的语法格式如下:

db.runCommand( { copydb : 1, fromdb : ..., todb : ..., fromhost : ... } );

// 源服务器需要认证,命令如下

n = db.runCommand( { copydbgetnonce : 1, fromhost: ... } );

db.runCommand( { copydb : 1, fromhost: ..., fromdb: ..., todb: ...,

 username: ..., nonce: n.nonce, key: <hash of username, nonce, password > } );

// 从另一个服务器克隆当前选择的数据库

var fromhost = ...;

print("about to get a copy of database " + db + " from " + fromhost);

db.cloneDatabase(fromhost);

// 命令的语法:

db.runCommand( { clone : fromhost } );



Notes

copyDatabase 源服务器也可能是 slave/secondary。
copyDatabase 不是原子性的操作: 如果在复制的过程中,源服务器数据库修改了,
目标服务器接收的document和更新的源服务器会有所不同。
这个命令必须运行于目标服务器。
这个命令不会给源服务器或者目标服务器加锁。两个服务器都允许进行读写操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: