mongo数据库和表的复制

时间:2024-05-23 16:06:13

1.可以借用工具:Studio 3T for Mongo

选择一个数据库中的Collections集合,然后按住 Ctrl+C 复制快捷键会弹出如下帮助框。

mongo数据库和表的复制

然后选择目标数据库(可以复制到不同主机的目标数据库下),点击 Ctrl+V 粘贴快捷键,重命名一下复制的名称即可

mongo数据库和表的复制

2.复制数据库:

   语法:db.copyDatabase(fromdb,todb,fromhost,username,password,mechanism)

从远程主机复制

参数

  • fromdbt: 源db;
  • todb: 目标db;
  • fromhost: 源db的主机地址,如果在同一个mongod实例内可以省略;
  • username: 如果开启了验证模式,需要源DB主机上的MongoDB实例的用户名;
  • password: 同上,需要对应用户的密码;
  • mechanism: fromhost验证username和password的机制,有:MONGODB-CR、SCRAM-SHA-1两种。

例如:db.copyDatabase('test','test2','192.168.14.52:27017','test','test','SCRAM-SHA-1')

不过尝试了一下,在同一个主机下复制数据库是可以的,没有密码验证去复制也是可以的。需要密码验证的没有复制成功。

不过这里有代替方案:可以使用Studio 3T for Mongo在目标主机上先创建数据库,然后将表一个个复制到目标主机(只是表多了会比较麻烦)

后续有数据库复制更好的解决方法再更新