`
风雪涟漪
  • 浏览: 496888 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:8765
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:17665
社区版块
存档分类
最新评论

MongoDB 复制数据库 Clone Database

阅读更多

复制数据库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和更新的源服务器会有所不同。
  • 这个命令必须运行于目标服务器。
  • 这个命令不会给源服务器或者目标服务器加锁。两个服务器都允许进行读写操作。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics