Mac OS terminalinden uzak bir mongo sunucusuna nasıl bağlanabilirim


101

MacBook'umdaki terminaldeki mongo kabuğuna bırakmak istiyorum. Ancak, bulutta çalışan bir Mongo örneğine bağlanmakla ilgileniyorum (Heroku eklentisi aracılığıyla compose.io örneği). MongoDB URI'den ad, şifre, ana bilgisayar, bağlantı noktası ve veritabanı adına sahibim:

mongodb://username:password@somewhere.mongolayer.com:10011/my_database

MacBook'uma Homebrew kullanarak mongodb kurdum çünkü Mongo'nun Mac'imde çalışmasını istemiyorum, sadece bu uzak veritabanına bağlanmak için mongo kabuk programına erişim sağlamak için.

Ancak, istediğim tam kabuk erişimini bana sağlayacak doğru komutu bulamıyorum. Burada bulunan talimatları kullanarak http://docs.mongodb.org/manual/reference/program/mongo/ ("uzak" araması yapın) Bir bağlantıya benzeyen şeyi alabiliyorum, ancak kullanıcı adımı veya şifremi vermeden alamıyorum tamamen bağlı. Çalıştırma db.auth(username, password)1 döndürüyor (yanlış kullanıcı adı ve şifre verdiğimde "yetkilendirme başarısız" nın aksine), ancak show dbskomutu verirken "yetkisiz" hata mesajı almaya devam ediyorum .

Yanıtlar:


170

Muhtemelen iyi bağlanıyorsunuz, ancak çalıştırmak için yeterli ayrıcalığa sahip değilsiniz show dbs.

Yetkilendirmeyi komut satırında iletirseniz db.auth'u çalıştırmanıza gerek yoktur:

mongo somewhere.mongolayer.com:10011/my_database -u username -p password

Bağlandıktan sonra koleksiyonları görebiliyor musunuz?

> show collections

Eğer öyleyse, her şey yolundaysa ve veritabanında yönetici ayrıcalıklarına sahip değilsiniz ve show dbs


Tanımladığınız tekniği kullanarak bağlantı kurabiliyorum. Ancak, "koleksiyonları göster" veya "kullanıcıları göster" gibi komutları çalıştıramıyorum. "My_db.system.namespaces üzerinde sorgu için yetkilendirilmemiş" hatası almak istedim.
jononomo

1
Tamam, bu yüzden heroku, mongo veritabanıma geliştirmede kullandığımdan farklı bir ad verdi. Sanırım bu temelde benim sorunumdu.
jononomo

1
Ama sonunda? AuthSource = admin varsa. Çalışmıyor. --authenticationDatabase yardımcı olmuyor.
Roman Kazanovskyi

27017, varsayılan bağlantı noktasıdır. örnek bağlantı noktasının çalışmaması durumunda. docs.mongodb.com/manual/reference/default-mongodb-port
değişiklik


0

Bunu yapmanın başka bir yolu şudur:

mongo mongodb://mongoDbIPorDomain:port
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.