mongoexport 导出需要授权数据库中的集合 报错 Authentication failed.
当 mongo数据库启动服务时,使用了 认证机制,在使用mongoexport导出集合文件时,需要用户权限认证。
开启数据库认证服务: mongod --auth
导出mongo中集合文件:
mongoexport -d test -c rgc -o /mnt/g/rgc.json -u root -p dfdf --authenticationDatabase=test
参数:
- -d 需要导出的数据库
- -c 集合
- -o 导出文件位置及名称
- -u 用户名
- -p 密码
- --authenticationDatabase 需要导出的数据库
如果没有进行服务开启时数据库认证,则不需要 -u -p --authenticationDatabase= 这三个参数
如果执行成功显示:
2018-08-16T17:29:06.177+0800 connected to: localhost
2018-08-16T17:29:06.179+0800 exported 2 records
如果显示:
2018-08-16T17:29:02.783+0800 error connecting to db server: server returned error on SASL authentication step: Authentication failed.
则是因为 用户权限不足造成,两种或多种解决方法
- readWrite权限没有导出数据库的权限,需要给用户添加 dbOwner(在当前DB中执行任意操作)权限,命令如下:
db.createUser({user:'rgc',pwd:'dfdf',roles:[{role:'dbOwner',db:'test'}]}) # 给rgc用户设置密码,并且有 test 数据库的 dbOwner权限 【需要有添加用户的权限,可以先取消服务改为非认证机制】
然后进行如下操作,便可成功
mongoexport -d test -c rgc -o /mnt/g/rgc.json -u rgc -p dfdf --authenticationDatabase=test
- 使用root权限进行操作
db.createUser({user:'root',pwd:'dfdf',roles:[{role:'root',db:'admin'}]}) #添加root权限 【需要有添加用户的权限】
然后进行如下操作,便可成功
mongoexport -d test -c rgc -o /mnt/g/rgc.json -u root -p dfdf --authenticationDatabase=test
#相关连接:
https://docs.mongodb.com/manual/reference/built-in-roles/#dbAdminAnyDatabase
https://docs.mongodb.com/manual/reference/method/db.createUser/
https://docs.mongodb.com/manual/reference/program/mongoexport/
https://www.cnblogs.com/zxtceq/p/7690977.html
https://blog.csdn.net/u011191463/article/details/68485529
mongoexport 导出需要授权数据库中的集合 报错 Authentication failed.的更多相关文章
- 修改数据库中的内容报错:PropertyAccessException:Null value was assinged to a property of primitive type setter of
错误原因:totalTime的类型为int,数据库中为NULL,int 类型不能赋值为NULL,只能为0,所以报此异常. 解决方案:将totalTime的类型改为Integer,或者初始化为0
- jsp中引入jquery报错:Failed to load resource: the server responded with a status of 404 (Not Found)
问题描述: 今天自己在搭建spring.springMVC.hibernate框架,搭建完成后,在引入jquery时,发现jquery不管用.我的解决顺序是: 1.检查路径,发现路径没错,另外需要注意 ...
- 在Ubuntu中启动./jmeter-server报错Server failed to start: java.rmi.RemoteException: Cannot start. ranxf is a loopback address.解决方法
执行失败错误信息: root@ranxf:/home/ranxf/apache-jmeter-3.1/bin# ./jmeter-server Writing log file to: /home ...
- 解决sever 2008中tomcat的报错 init Failed to initialize end point associated with ProtocolHandler ["http-nio-80"]
错误现象: 01-Aug-2017 14:59:50.140 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing Protoc ...
- python2 + selenium + eclipse 中,通过django生产数据库表的时候报错
python2 + selenium + eclipse 中,通过django生产数据库表的时候报错 解决: 1.查看自己电脑中,“开始-->控制面板-->管理工具-->服务--&g ...
- django在model中添加字段报错
在以下类中添加 description 字段后, class Colors(models.Model): colors = models.CharField(u'颜色', max_length=10) ...
- php中各种http报错的状态码分析
HTTP会经常遇见错误,本文主要和大家分享php中各种http报错的状态码,希望能帮助到大家. HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无 ...
- 解决MyEclipse中的js报错的小方法
今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下:Syntax error on token " ...
- 关于Entity Framework中的Attached报错相关解决方案的总结
关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...
随机推荐
- Android应用程序启动过程
有没有想过,当我们点击桌面应用程序图标是怎样打开APP启动应用程序的呢? 当我们点击应用图标会调用Launcher的startActivitySafely()方法,方法实现如下,其实是调用的start ...
- Java内省机制
转自: https://blog.csdn.net/hahalzb/article/details/5972421 1.java内省机制其实通俗的理解为,对自身的进行一个扫描,这个扫描的对象就是我们普 ...
- JAVA日常之一
一.JDK安装及环境变量设置 下载jdk安装包,如jdk-8u65-windows-x64.exe,点击安装,记住安装路径如E:\Program Files\Java\jdk1.8.0_65: 打开环 ...
- 1(2)IO流---字节流
一.分类 字节流(不适用于文本) InputStream OutputStream 字符流 Reader Writer 二.字节流 1.概述 InputStream 字节输入流,是被读的,抽 ...
- java中的hashmap理解
转自大神,以便以后翻阅http://www.cnblogs.com/whgk/p/6091316.html
- kylin cubing algorithm(算法)
看到这一块的视频,结合光方博客的一些文档及自己的一点理解,记个笔记,以备不时之需. by layer cubing 1.on MR 这个算法的对cube的计算就像它的名字一样是按player进行的. ...
- 前端自定义format函数,做字符串格式化功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [删括号][判断可行性的dp]
链接:https://ac.nowcoder.com/acm/problem/21303来源:牛客网题目描述 给你一个合法的括号序列s1,每次你可以删除一个"()" 你可以删除0个 ...
- Linux安装JDK.8
E&T: CentOS_7.4 64位; jdk-8u191-linux-x64; Xftp5; Xshell5; P1.下载Linux环境下的jdk1.8 下载链接: https://www ...
- 14. Encryption tools (加密工具 8个)
SSH(Secure Shell)现在是无处不在的程序,用于在远程机器上登录或执行命令. 它通过不安全的网络在两个不受信任的主机之间提供安全的加密通信,取代了可怕的不安全的telnet / rlogi ...