mongodb.使用自带命令工具导出导入数据

打印 上一主题 下一主题

主题 584|帖子 584|积分 1752

记录 mongo 数据库用原生自带的命令工具使用 json 文件方式进行导入、导出的操作!
在一次数据更新中,同事把老数据进行了清空操作,但是新的逻辑数据由于某种原因(好像是她的电脑中病毒了),一直无法正常连接数据库进行数据插入,然后下午2点左右要给甲方演示,所以要紧急恢复本地的部分数据到生产库。
在此之前我只用过 mongo 自带的命令 mongoexport 进行过导出操作,把数据库的某个 collection 导出为 json 文件,那么这次是要先导出再导入,实现了一个完整的数据迁移闭环,所以在此记录一下,以备不时之需。
一、下载 mongo 工具包

mongo工具包包括管理数据的一些工具 exe 文件,具体如下:

  • mongoexport.exe:导出数据命令工具
  • mongoimport.exe:导入数据命令工具
  • bsondump.exe:   用于将导出的BSON文件格式转换为JSON格式
  • mongodump.exe:  用于从mongodb数据库中导出BSON格式的文件,类似于mysql的dump工具mysqldump
  • mongofiles.exe: 用于和mongoDB的GridFS文件系统交互的命令,并可操作其中的文件,它提供了我们本地系统与GridFS文件系统之间的存储对象接口
  • mongorestore.exe: 用于恢复导出的BSON文件到 mongodb 数据库中
  • mongostat.exe:  当前 mongod 状态监控工具,像linux中监控linux的vmstat
  • mongotop.exe:   提供了一个跟踪mongod数据库花费在读写数据的时间,为每个collection都会记录,默认记录时间是按秒记录
这个工具跟 mongo 的版本有关系,部分版本自带该工具包,比如下图的 4.x 版本,我用的 5.0 版本没有自带工具包,所以我需要先去官网下载工具包文件,然后把 bin 目录下的工具复制到 5.0 版本的 bin 目录下,才能进行数据的导出、导入操作。
工具包的下载地址为:mongo工具包下载地址,解压后把bin文件夹里的文件全部拷贝到 MongoDB 安装目录bin文件夹下。


二、导出数据

进入到 mongo 的安装目录 bin 下,使用 mongoexport 工具进行数据的 导出 操作
1、无密码导出操作:
  1. mongoexport.exe -h localhost:28007 -d database  -c result -o D:/project/result.json
复制代码
2、有密码的导出操作:
  1. mongoexport.exe -h localhost:28007 -d database -u admin  -p 123456  -c result -o D:/project/result.json
复制代码
三、导入数据

进入到 mongo 的安装目录 bin 下,使用 mongoimport 工具进行数据的 导入 操作
  1. mongoimport.exe -h localhost:28007 -u admin -p 123456 -d database -c result --file D:/project/result.json
复制代码
执行结果如下表示导入成功
  1. D:\MongoDB\Server\5.0\bin>mongoimport.exe -h localhost:28007 -u admin -p 123456 -d database -c result --file D:/project/result.json
  2. 2023-04-11T13:34:39.799+0800    connected to: mongodb://localhost:28007/
  3. 2023-04-11T13:34:42.799+0800    [#######.................] database.result 20.2MB/66.4MB (30.4%)
  4. 2023-04-11T13:34:45.799+0800    [##############..........] database.result 40.5MB/66.4MB (61.1%)
  5. 2023-04-11T13:34:48.799+0800    [#####################...] database.result 60.4MB/66.4MB (91.0%)
  6. 2023-04-11T13:34:49.660+0800    [########################] database.result 66.4MB/66.4MB (100.0%)
  7. 2023-04-11T13:34:49.660+0800    386810 document(s) imported successfully. 0 document(s) failed to import.
复制代码

参数释义:
-h :指的是 host 主机地址
-u :指的是用户账号
-p :指的是账户密码
-d :指的是数据库 database 简称
-c :指的是表 collection 简称
-o :指的是导出路径 output 简称
--file :指的是需要导入的文件
四、其他

使用过程中可以使用 --help 进行参数意思的查看
[code]D:\MongoDB\Server\5.0\bin>mongoimport --helpUsage:  mongoimport   Import CSV, TSV or JSON data into MongoDB. If no file is provided, mongoimport reads from stdin.Connection strings must begin with mongodb:// or mongodb+srv://.See http://docs.mongodb.com/database-tools/mongoimport/ for more information.general options:      /help                                       print usage      /version                                    print the tool version and exit      /config:                                    path to a configuration fileverbosity options:  /v, /verbose:                            more detailed log output (include multiple times for more verbosity,                                                  e.g. -vvvvv, or specify a numeric value, e.g. --verbose=N)      /quiet                                      hide all log outputconnection options:  /h, /host:                            mongodb host to connect to (setname/host1,host2 for replica sets)      /port:                                server port (can also use --host hostname:port)ssl options:      /ssl                                        connect to a mongod or mongos that has ssl enabled      /sslCAFile:                       the .pem file containing the root certificate chain from the                                                  certificate authority      /sslPEMKeyFile:                   the .pem file containing the certificate and key      /sslPEMKeyPassword:               the password to decrypt the sslPEMKeyFile, if necessary      /sslCRLFile:                      the .pem file containing the certificate revocation list      /sslFIPSMode                                use FIPS mode of the installed openssl library      /tlsInsecure                                bypass the validation for server's certificate chain and host nameauthentication options:  /u, /username:                        username for authentication  /p, /password:                        password for authentication      /authenticationDatabase:     database that holds the user's credentials      /authenticationMechanism:        authentication mechanism to use      /awsSessionToken:        session token to authenticate via AWS IAMkerberos options:      /gssapiServiceName:           service name to use when authenticating using GSSAPI/Kerberos                                                  (default: mongodb)      /gssapiHostName:                 hostname to use when authenticating using GSSAPI/Kerberos (default:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表