1.可以借用工具:Studio 3T for Mongo
选择一个数据库中的Collections集合,然后按住 Ctrl+C 复制快捷键会弹出如下帮助框。
然后选择目标数据库(可以复制到不同主机的目标数据库下),点击 Ctrl+V 粘贴快捷键,重命名一下复制的名称即可
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在目标主机上先创建数据库,然后将表一个个复制到目标主机(只是表多了会比较麻烦)
后续有数据库复制更好的解决方法再更新