专栏首页重庆的技术分享区mongoexport导出数据时遇到的种种问题(好坑)

mongoexport导出数据时遇到的种种问题(好坑)

想导出mongodb数据库里的数据,结果,搞了一天,踩了无数的坑,才终于导出数据,真的,要哭了,赶紧记录下来(说实话,网上有些文章真的随着版本的更新,有些过时了,真的是助我踩坑耶) 我主要讲我踩得坑哈,顺便说下!

首先要开启服务,进入命令框 NET START MongoDB 然后进入安装目录(我的安装目录):cd D:\Program Files\Work\MongoDB\Server\3.4\bin,执行 mongo

执行以上两步后,就可以输入有用的命令了 导出数据: mongoexport -h 127.0.0.1 -u root -p 12345 -d taobao -c prodect --type=cvs -o D:\data\prodect_cvs.dat 不知上述意思的可以参见: Mongo的导出工具mongoexport介绍 然后就报错

12

2017-08-26T15:48:30.940+0800 error connecting to db server: server returned error on SASL authentication step: Authentication failed.

网上搜了一下,说–authenticationDatabase admin 这是是必须的,否则会报上述错误: 解决办法 再添加一串代码: --authenticationDatabase admin 但是添加了之后还是报相同的错,又搜了一下,看了下面一篇博文

mongoDB authentication

连接到admin数据库,在admin数据库上创建一个用户,这个用户保存在admin.system.users中,它的权限比在其它数据库中设置的用户权限更大。(当admin.system.users中一个用户都没有时,即使mongod启动时添加了–auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作,直到在admin.system.users中添加了一个用户。)

原来是我没创建一个用户但大家要注意创建用户的命令版本不同,命令也有可能不同,我就遇到了这个问题,

mongodb3.X用的方法: mongoDB add user in v3.0 问题的解决(Property ‘addUser’ of object admin is not a func)

我的版本是3.X的,所有我应该执行下面

123456789101112

use admindb.createUser( { user: "appAdmin", pwd: "password", roles: [ { role: "readWrite", db: "config" }, "clusterAdmin" ] })

旧点的版本:

12

use admindb.addUser('appAdmin', 'password')

创建完成之后如下图:

然后又遇到一个问题csv mode requires a field list ,原因是第一次没有指明要导出的列,所以只是实现一个空的文件

123456

user@user-xubuntu:/usr/lib/mongodb/bin$ sudo ./mongoexport -d wx_connect -c template --csv -o template_csv.dat connected to: 127.0.0.1 csv mode requires a field list                     ------第一次没有指明要导出的列,所以只是实现一个空的文件 user@user-xubuntu:/usr/lib/mongodb/bin$ sudo ./mongoexport -d wx_connect -c template --csv -f msgId,templateId,status,toUser -o template_csv_new.dat connected to: 127.0.0.1 exported 28 records                           ------导出成功

所以在末尾再加上-f 一列的名字 mongoexport -h 127.0.0.1 -u root -p 12345 -d taobao -c prodect --type=cvs -o D:\data\prodect_cvs.dat --authenticationDatabase admin -f shop

参考博客: mongoDB的基本操作以及数据的导入导出,备份和恢复 如下图

哇。终于完成了,有点小激动啊!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 优化时间序列应用程序的数据查询

    原文地址:https://dzone.com/articles/optimizing-data-queries-for-time-series-applicat...

    双愚
  • 如何用css和js禁止网页选择文字(兼容) 保护版权呢?(附代码)

    双愚
  • TensorFlow版本-如何更新?(踩坑版)

    双愚
  • SQL注入学习之 - Access数据库注入原理

    Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户...

    渗透攻击红队
  • 弱口令,yyds

    在渗透企业资产时,弱口令往往可达到出奇制胜,事半功倍的效果!特别是内网,那家伙,一个admin admin或者admin123 拿下一片,懂的都懂。

    Gamma实验室
  • pycharm wsl Permission denied

    一看就知道这个是linux用户权限的问题,一开始安装子系统会强制用户设置一个账户,该账户是个普通账户,无权擦写/usr/local目录下的文件

    马哥Python
  • 二次注入——sqli-labs第24关

    提示说:please login to continue,请登录以继续。 没有账号怎么登录? 当然是选择注册

    宸寰客
  • Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contri...

    用户1214487
  • 在 Django Admin 后台发布文章

    在此之前我们完成了 Django 博客首页视图的编写,我们希望首页展示发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文...

    追梦人物
  • 使用Kubeadm创建k8s集群之节点部署(三十二)

    本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备。本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像...

    心莱科技雪雁

扫码关注云+社区

领取腾讯云代金券