복붙노트

[MONGODB] MongoDB를-CR 인증에 실패했습니다

MONGODB

MongoDB를-CR 인증에 실패했습니다

purchase_user @ 구입 실패 : 사용자를 인증하는 동안 나는 다음과 같은 오류를 얻고있다. MongoDB를-CR 인증에 실패했습니다. 나는 브라우저를 통해 웹 서비스에 액세스 할 때 사용자 문서에 자격 증명이 없습니다.

그러나 나는 그것이 1 반환 몽고에서 purchase_user를 인증 할 수 있어요.

해결법

  1. ==============================

    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. ==============================

    2.동일한 문제가 있었다. 무엇이 나에게 일어나고있는 것은 내 사용자를 생성 MongoDB를 3 사용할 때, 그것은 달아나-SHA-1 대신 MongoDB를-CR의 그것의 인증 메커니즘으로 사용 된 것이 었습니다. 내가 한 것은 :

    동일한 문제가 있었다. 무엇이 나에게 일어나고있는 것은 내 사용자를 생성 MongoDB를 3 사용할 때, 그것은 달아나-SHA-1 대신 MongoDB를-CR의 그것의 인증 메커니즘으로 사용 된 것이 었습니다. 내가 한 것은 :

    이제 문제없이 작동합니다.

  3. ==============================

    3.위의 단계 번호 2. 나는이 솔루션을 발견, 명시 적으로 설명하고 나를 위해 일하지 않는다.

    위의 단계 번호 2. 나는이 솔루션을 발견, 명시 적으로 설명하고 나를 위해 일하지 않는다.

    var schema = db.system.version.findOne({"_id" : "authSchema"})
    schema.currentVersion = 3
    db.system.version.save(schema)
    
  4. ==============================

    4.나는 이것이 당신이 필요로하는 해답이라고 생각 :

    나는 이것이 당신이 필요로하는 해답이라고 생각 :

    1) 인증없이 시작 3.0을 사용. (인증 그렇지 않으면 당신은 권한이없는 오류가 발생합니다 비활성화 할 필요가있다).

    2) 실행 (선택 후 "관리자"를 사용 dB) :

    인증 3) 다시 시작 MongoDB를 활성화.

    4)이 해결하지 않습니다 일) 전에 생성 한 새로운 관리 사용자 (옛 하나를 만듭니다.

    지금은 상황이 작동합니다. 이 문제뿐만 아니라 날 미치게되었다.

    대답은 여기에서 나온 : https://jira.mongodb.org/browse/SERVER-17459

  5. ==============================

    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. ==============================

    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. ==============================

    7.나를 위해 나는 몽고 3 서버에 연결하려고 몽고 2 클라이언트를 사용했다. 이 문제를 해결 클라이언트 업그레이드.

    나를 위해 나는 몽고 3 서버에 연결하려고 몽고 2 클라이언트를 사용했다. 이 문제를 해결 클라이언트 업그레이드.

  8. ==============================

    8.우분투 제공하는 비공식 MongoDB의 패키지 MongoDB에 의해 유지되어 있지 않기 때문에이 문제를 해결했다. 당신은 항상 최신 상태로 유지하는 가장 최근의 메이저와 마이너 MongoDB의 출시와 함께 공식 MongoDB를의 MongoDB를-조직 패키지를 사용해야합니다.

    우분투 제공하는 비공식 MongoDB의 패키지 MongoDB에 의해 유지되어 있지 않기 때문에이 문제를 해결했다. 당신은 항상 최신 상태로 유지하는 가장 최근의 메이저와 마이너 MongoDB의 출시와 함께 공식 MongoDB를의 MongoDB를-조직 패키지를 사용해야합니다.

  9. ==============================

    9.나뿐만 아니라이 오류를 얻고 있었다.

    나뿐만 아니라이 오류를 얻고 있었다.

    .. 당신의 봄 구성 파일을 확인 나는 "스크 램-SHA-1"로 스왑 "MongoDB를-CR"라는 이름의 생성자의 인자를 가지고 있었고, 내 문제를 해결.

    MongoDB의 로그 파일을 미행하는 날이 진단을 도왔다.

  10. ==============================

    10.아마 오래된 뉴스 및 문제 해결,하지만 같은 오류와 함께 내 경험을 추가 :

    아마 오래된 뉴스 및 문제 해결,하지만 같은 오류와 함께 내 경험을 추가 :

    나는 똑같은 문제 (MongoDB를 3.0을 사용하여), 그리고 전 3.0 dB를 사용하도록 설정했습니다 C #을 드라이버를했다.

    C #에서 나는 영업 이익은 점점 된 오류의 원인 "MongoDB.Driver.CreateMongoCRCredentials ()"를 사용했다.

    수정이 (나를 위해), "MongoDB.Driver.CreateCredential ()"위의 명령을 전환했다.

    나는이 업그레이드 된 시스템에서 (이전 3.0) "오래된"사용자를 사용하여 발생할 수있을 것 같아요. 어떤 하나의 힘 새 인증 메커니즘에 사용자를 업그레이드하거나 서버의 인증 메커니즘을 다운 그레이드합니다.

  11. ==============================

    11.2018년 6월 내가는 / usr / bin에 설치 고대 클라이언트에서 내 MongoDB를 버전 3.6에 연결하려고 후이 오류가 발생했습니다. 나는 OS 표준 디렉토리의 별도의 폴더 외부에있는 몽고 DB를 설치, 내 설치가 패키지 관리자에 의해 설치된 고대 버전과 충돌했다 그래서.

    2018년 6월 내가는 / usr / bin에 설치 고대 클라이언트에서 내 MongoDB를 버전 3.6에 연결하려고 후이 오류가 발생했습니다. 나는 OS 표준 디렉토리의 별도의 폴더 외부에있는 몽고 DB를 설치, 내 설치가 패키지 관리자에 의해 설치된 고대 버전과 충돌했다 그래서.

  12. ==============================

    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
    
  13. from https://stackoverflow.com/questions/29006887/mongodb-cr-authentication-failed by cc-by-sa and MIT license