2013-07-26 10 views
11

Ben readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin olan ancak yine de veritabanını kopyalayamayan bir kullanıcıyla oturum açtım. Her iki veritabanında da bireysel olarak erişebilir ve koleksiyon oluşturabilirim.mongodb copydatabase üzerinde yetkisiz olarak döndürülüyor

> use admin 
> db.auth('user', 'password') 
> db.copyDatabase('database1', 'database2') 
{ "ok" : 0, "errmsg" : "unauthorized" } 

mongodb sürümü idari sorguları için yönetici veritabanında oturum gerek 2.4.5

+0

Bakın: http://stackoverflow.com/questions/16854898/mongodb-db-copydatabase-fail-on-unauthorized. Aynı sorun – lexeme

+0

gibi görünüyor ama orada bir çözüm yok. Eğer db boyutu çok büyükse, her koleksiyon için kayıt kopyalamak çok yavaş ve hataya eğilimlidir. Veritabanındaki tek bir komutla veritabanının kopyalanması ihtiyacımız olan şeydir. Yapıcı olmayan cevap için – Rajiv

cevap

6

Bu seferki şu anda işe yaramaz yönetici veritabanındaki ayrıcalıkları gerekir.

Kaynakta bir not var: https://github.com/mongodb/mongo/blob/master/src/mongo/db/cloner.cpp satırında 704 "Not: eski stil kullanıcıları dışında kimlik doğrulaması etkin olarak çalışmıyor."

+1

Yeni stil için bu güncelleştirme, [SERVER-8213] (https://jira.mongodb.org/browse/SERVER-8213) adresinde izlenmektedir (şu anda 2.6 karşılığıdır). – jmikola

+0

http://stackoverflow.com/questions/16854898/mongodb-db-copydatabase-fail-on-unauthorized adresindeki yorumumu güncellediğimden daha büyük. – attish

İlgili konular