[MONGODB] MongoDB를-CR 인증에 실패했습니다
MONGODBMongoDB를-CR 인증에 실패했습니다
purchase_user @ 구입 실패 : 사용자를 인증하는 동안 나는 다음과 같은 오류를 얻고있다. MongoDB를-CR 인증에 실패했습니다. 나는 브라우저를 통해 웹 서비스에 액세스 할 때 사용자 문서에 자격 증명이 없습니다.
그러나 나는 그것이 1 반환 몽고에서 purchase_user를 인증 할 수 있어요.
해결법
-
==============================
1.MongoDB를 콘솔에 가서 대신 5의 3에 현재 사용자와 세트 인증 스키마 버전을 삭제, 몽고 콘솔에서이 명령을 수행 -
MongoDB를 콘솔에 가서 대신 5의 3에 현재 사용자와 세트 인증 스키마 버전을 삭제, 몽고 콘솔에서이 명령을 수행 -
mongo use admin db.system.users.remove({}) <== removing all users db.system.version.remove({}) <== removing current version db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })
이제 MongoDB를 다시 시작하고 그것을 잘 작동합니다 새 사용자를 만듭니다.
참고 : 테스트 DB에서 사용 제거 명령 만 생산 사용 업데이트의 경우.
당신은 모든 사용자를 삭제하고 인증합니다 (는 Kubernetes의 지배 차트, 기본적으로 설정되거나 --auth PARAM) 구성에 사용하는 경우, 그것은 더 이상 액세스 MongoDB를 할 수 없습니다. 그것의 비활성화 인증에 필요한 새로운 사용자를 생성 한 다음 다시 활성화하십시오.
거기 고전 설치하여 MongoDB에서와 기본하지 이후는 Kubernetes에서 당신은, 매개 변수를 편집하고 인수로 --noauth 추가해야합니다. --noauth에 대한 자세한 내용과 해당 --auth에 대한 CLI 설명서를 참조하십시오.
-
==============================
2.동일한 문제가 있었다. 무엇이 나에게 일어나고있는 것은 내 사용자를 생성 MongoDB를 3 사용할 때, 그것은 달아나-SHA-1 대신 MongoDB를-CR의 그것의 인증 메커니즘으로 사용 된 것이 었습니다. 내가 한 것은 :
동일한 문제가 있었다. 무엇이 나에게 일어나고있는 것은 내 사용자를 생성 MongoDB를 3 사용할 때, 그것은 달아나-SHA-1 대신 MongoDB를-CR의 그것의 인증 메커니즘으로 사용 된 것이 었습니다. 내가 한 것은 :
이제 문제없이 작동합니다.
-
==============================
3.위의 단계 번호 2. 나는이 솔루션을 발견, 명시 적으로 설명하고 나를 위해 일하지 않는다.
위의 단계 번호 2. 나는이 솔루션을 발견, 명시 적으로 설명하고 나를 위해 일하지 않는다.
var schema = db.system.version.findOne({"_id" : "authSchema"}) schema.currentVersion = 3 db.system.version.save(schema)
-
==============================
4.나는 이것이 당신이 필요로하는 해답이라고 생각 :
나는 이것이 당신이 필요로하는 해답이라고 생각 :
1) 인증없이 시작 3.0을 사용. (인증 그렇지 않으면 당신은 권한이없는 오류가 발생합니다 비활성화 할 필요가있다).
2) 실행 (선택 후 "관리자"를 사용 dB) :
인증 3) 다시 시작 MongoDB를 활성화.
4)이 해결하지 않습니다 일) 전에 생성 한 새로운 관리 사용자 (옛 하나를 만듭니다.
지금은 상황이 작동합니다. 이 문제뿐만 아니라 날 미치게되었다.
대답은 여기에서 나온 : https://jira.mongodb.org/browse/SERVER-17459
-
==============================
5.여기에서 가져온 비벡 및 설명에 의해 위의 솔루션에 추가
여기에서 가져온 비벡 및 설명에 의해 위의 솔루션에 추가
use admin db.system.users.remove({}) <== removing all users db.system.version.remove({}) <== removing current version db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })
-
==============================
6.3.0.3 및 사용에 몽고 - 자바 드라이버를 업그레이드 : -
3.0.3 및 사용에 몽고 - 자바 드라이버를 업그레이드 : -
MongoCredential.createScramSha1Credential 대신 MongoCredential.createMongoCRCredential
MongoCredential createMongoCRCredential = MongoCredential.createScramSha1Credential (mongoConfiguration.getDatabaseUserName () mongoConfiguration.getAuthenticationDatabase () mongoConfiguration.getDatabasePassword () toCharArray ().);
http://docs.mongodb.org/master/release-notes/3.0-scram/
-
==============================
7.나를 위해 나는 몽고 3 서버에 연결하려고 몽고 2 클라이언트를 사용했다. 이 문제를 해결 클라이언트 업그레이드.
나를 위해 나는 몽고 3 서버에 연결하려고 몽고 2 클라이언트를 사용했다. 이 문제를 해결 클라이언트 업그레이드.
-
==============================
8.우분투 제공하는 비공식 MongoDB의 패키지 MongoDB에 의해 유지되어 있지 않기 때문에이 문제를 해결했다. 당신은 항상 최신 상태로 유지하는 가장 최근의 메이저와 마이너 MongoDB의 출시와 함께 공식 MongoDB를의 MongoDB를-조직 패키지를 사용해야합니다.
우분투 제공하는 비공식 MongoDB의 패키지 MongoDB에 의해 유지되어 있지 않기 때문에이 문제를 해결했다. 당신은 항상 최신 상태로 유지하는 가장 최근의 메이저와 마이너 MongoDB의 출시와 함께 공식 MongoDB를의 MongoDB를-조직 패키지를 사용해야합니다.
-
==============================
9.나뿐만 아니라이 오류를 얻고 있었다.
나뿐만 아니라이 오류를 얻고 있었다.
.. 당신의 봄 구성 파일을 확인 나는 "스크 램-SHA-1"로 스왑 "MongoDB를-CR"라는 이름의 생성자의 인자를 가지고 있었고, 내 문제를 해결.
MongoDB의 로그 파일을 미행하는 날이 진단을 도왔다.
-
==============================
10.아마 오래된 뉴스 및 문제 해결,하지만 같은 오류와 함께 내 경험을 추가 :
아마 오래된 뉴스 및 문제 해결,하지만 같은 오류와 함께 내 경험을 추가 :
나는 똑같은 문제 (MongoDB를 3.0을 사용하여), 그리고 전 3.0 dB를 사용하도록 설정했습니다 C #을 드라이버를했다.
C #에서 나는 영업 이익은 점점 된 오류의 원인 "MongoDB.Driver.CreateMongoCRCredentials ()"를 사용했다.
수정이 (나를 위해), "MongoDB.Driver.CreateCredential ()"위의 명령을 전환했다.
나는이 업그레이드 된 시스템에서 (이전 3.0) "오래된"사용자를 사용하여 발생할 수있을 것 같아요. 어떤 하나의 힘 새 인증 메커니즘에 사용자를 업그레이드하거나 서버의 인증 메커니즘을 다운 그레이드합니다.
-
==============================
11.2018년 6월 내가는 / usr / bin에 설치 고대 클라이언트에서 내 MongoDB를 버전 3.6에 연결하려고 후이 오류가 발생했습니다. 나는 OS 표준 디렉토리의 별도의 폴더 외부에있는 몽고 DB를 설치, 내 설치가 패키지 관리자에 의해 설치된 고대 버전과 충돌했다 그래서.
2018년 6월 내가는 / usr / bin에 설치 고대 클라이언트에서 내 MongoDB를 버전 3.6에 연결하려고 후이 오류가 발생했습니다. 나는 OS 표준 디렉토리의 별도의 폴더 외부에있는 몽고 DB를 설치, 내 설치가 패키지 관리자에 의해 설치된 고대 버전과 충돌했다 그래서.
-
==============================
12.나는 새로운 MongoDB를 3.2.8 데이터베이스를 사용하여 봄 부팅 응용 프로그램과 같은 오류가 있었다. 자바 몽고 드라이버 (3.2.2)의 최신 버전으로 업그레이드 한 후 내 application.properties의 URI에 인증 메커니즘 PARAM를 추가하여, 나는 그것이 작동 얻을 수 있었다 :
나는 새로운 MongoDB를 3.2.8 데이터베이스를 사용하여 봄 부팅 응용 프로그램과 같은 오류가 있었다. 자바 몽고 드라이버 (3.2.2)의 최신 버전으로 업그레이드 한 후 내 application.properties의 URI에 인증 메커니즘 PARAM를 추가하여, 나는 그것이 작동 얻을 수 있었다 :
spring.data.mongodb.uri=mongodb://myusername:mypassword@localhost/?authSource=admin&authMechanism=SCRAM-SHA-1 spring.data.mongodb.database=test
from https://stackoverflow.com/questions/29006887/mongodb-cr-authentication-failed by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 여러 배열 항목에서 찾을 수 MongoDB를 (0) | 2019.12.06 |
---|---|
[MONGODB] MongoDB를 : 필드가 null 여부를 설정합니다 어디에 어떻게 레코드를 조회하려면? (0) | 2019.12.06 |
[MONGODB] MongoDB의에서 $ 언 와인드 연산자는 무엇입니까? (0) | 2019.12.06 |
[MONGODB] MongoDB를 집계 비교 : 그룹 (), $ 그룹과 맵리 듀스 (0) | 2019.12.06 |
[MONGODB] MongoDB의 중복 문서를 제거하는 가장 빠른 방법 (0) | 2019.12.06 |