tencent cloud

文档反馈

基于 CVM 连接 MongoDB 进行数据导入导出的方法

最后更新时间:2024-04-08 09:58:41
    通过云服务器 CVM 连接云数据库 MongoDB 可以进行数据导入和导出,请注意使用最新版本的 MongoDB 客户端套件,具体操作可参见 连接实例
    注意:
    local 数据库主要存储副本集的配置信息、oplog 等元数据;admin 数据库则主要存储用户、角色等信息。为了防止数据错乱、鉴权失败等现象发生,云数据库 MongoDB 禁止将 local 和 admin 数据库导入实例。

    导出导入命令

    MongoDB 官方提供了两套数据导入导出工具:
    mongodump 和 mongorestore
    mongoexport 和 mongoimport

    mongodump 和 mongorestore

    进行整库导出导入时,通常使用 mongodumpmongorestore,这一对组合操作的数据是 BSON 格式,进行大量 dump 和 restore 时效率较高。
    mongodump 导出命令如下:
    mongodump --host 10.66.187.127:27017 -u mongouser -p thepasswordA1 --authenticationDatabase=admin --db=testdb -o /data/dump_testdb
    如下图所示,则执行成功:
    
    mongorestore 导入命令如下:
    mongorestore --host 10.66.187.127:27017 -u mongouser -p thepasswordA1 --authenticationDatabase=admin --dir=/data/dump_testdb
    如下图所示,则执行成功:
    

    mongoexport 和 mongoimport

    进行单个集合导出导入时,通常使用 mongoexportmongoimport,这一对组合操作的数据是 JSON 格式,可读性较高。
    mongoexport 导出命令如下:
    mongoexport --host 10.66.187.127:27017 -u mongouser -p thepasswordA1 --authenticationDatabase=admin --db=testdb --collection=testcollection -o /data/export_testdb_testcollection.json
    另外您也可以加上 -f 参数指定需要的字段,-q 参数指定一个查询条件来限定要导出的数据。
    mongoimport 导入命令如下:
    mongoimport --host 10.66.187.127:27017 -u mongouser -p thepasswordA1 --authenticationDatabase=admin --db=testdb --collection=testcollection2 --file=/data/export_testdb_testcollection.json

    多种认证方式的参数说明

    连接示例 中有说明,云数据库 MongoDB 默认提供了 “rwuser” 和 “mongouser” 两个用户名分别支持 “MONGODB-CR” 和 “SCRAM-SHA-1” 两种认证方式。
    对于 “mongouser” 以及在控制台创建的所有新用户,在使用导出导入命令工具时,根据上文示例操作即可。
    对于 “rwuser”,需要在每个命令里加入参数 “--authenticationMechanism=MONGODB-CR”。
    mongodump 示例:
    mongodump --host 10.66.187.127:27017 -u rwuser -p thepasswordA1 --authenticationDatabase=admin --authenticationMechanism=MONGODB-CR --db=testdb -o /data/dump_testdb
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持