MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongorestore-Problem:Benutzer mit Schemaversion 1 können nicht auf einem System mit Serverversion 2.5.4 oder höher wiederhergestellt werden

Es gibt zwei Ansätze, um Ihr Benutzerschema mit 2.4 mongodump zu aktualisieren .

1) In MongoDB 2.4 wiederherstellen und dann auf 2.6 aktualisieren

Dies folgt dem normalen 2.6-Upgrade-Pfad . Anstatt zu versuchen, mongorestore zu versuchen Ihre 2.4-Sicherung direkt in 2.6, Wiederherstellung in einer 2.4-Instanz und dann Upgrade auf 2.6.

Es wird empfohlen, dass Sie vor dem Upgrade db.upgradeCheckAllDBs ausführen () über einen 2.6 mongo Hülse. Dadurch wird nach potenziellen Kompatibilitätsproblemen gesucht aufgrund von Änderungen in MongoDB 2.6. Beispielsweise implementiert 2.6 eine stärkere Durchsetzung von Indexfelddefinitionen und Beschränkungen der Schlüssellänge.

2) Wiederherstellung in MongoDB 2.6 mit 2.4 mongorestore und aktualisieren Sie dann das Benutzerschema

Dieser Ansatz erfordert die MongoDB 2.4-Version von mongorestore

  • starten Sie MongoDB 2.6 mongod ohne Authentifizierung aktiviert

  • mongorestore Ihre Sicherung mit einer 2.4-Version von mongorestore

  • führen Sie authSchemaUpgrade Befehl in Ihrem 2.6 mongo Schale:

    db.adminCommand({authSchemaUpgrade: 1 });
    
  • Starten Sie Ihren 2.6 mongod neu mit aktivierter Authentifizierung