Я хочу подключиться к удаленной базе данных с помощью Robomongo. Я могу подключиться к базе данных, но ошибка говорит, что:
Не удалось загрузить список баз данных
Что мне делать?
Я хочу подключиться к удаленной базе данных с помощью Robomongo. Я могу подключиться к базе данных, но ошибка говорит, что:
Не удалось загрузить список баз данных
Что мне делать?
Перейдите в Настройки подключения → Аутентификация - указать имя базы данных, имя пользователя, пароль - Теперь проверьте соединение Я столкнулся с тем же вопросом, после чего предоставил вышеприведенную информацию, которая решила мою проблему.
Refer: (сообщение Vaibhav) Пункт 3.Показать имя и имя БД Как подключить Robomongo к MongoDB
По моему опыту, это связано с неудачной аутентификацией пользователя/паролем базы данных. Возможно, ваше IP-соединение с сервером прошло успешно, но вам не удалось подключиться к db. Я предлагаю дважды проверить имя пользователя/пароль базы данных и повторить попытку.
И лучше показать, что находится внутри "Показать сведения об ошибке".
Это связано с тем, что любой пользователь, с которым вы подключаетесь, не имеет привилегий для перечисления баз данных.
https://docs.mongodb.com/manual/reference/built-in-roles/
Обратите внимание, что пользователь/роль может подключаться и взаимодействовать с конкретной базой данных/коллекцией, но для того, чтобы Robomongo отображал базы данных/коллекции, вы должны разрешить ему подключаться к вашей базе данных с помощью пользователя с listDatabases
привилегии.
У меня была такая же ошибка ("не удалось загрузить список баз данных"). По какой-то причине все мои базы данных и коллекции были удалены. По-видимому, Robomongo не смог справиться с ситуацией, когда на сервере нет доступных баз данных/коллекций.
Чтобы решить эту проблему, я подключился к Mongo Shell, создал базу данных и создал там коллекцию:
mongo (start mongo shell)
use local (create database named local)
db.createCollection("somename")
После этого я мог подключиться к серверу Mongo
Обновление: я снова столкнулся с этой проблемой, и на этот раз она была вызвана тем фактом, что это была новая установка Mongo на виртуальной машине, и соединения с другими хостами не были разрешены, поэтому мне пришлось изменить bindIP от 127.0.0.1 до 0.0.0.0 в /etc/mongod.conf
net:
bindIp: 0.0.0.0
port: 27017
и перезапусти монго sudo service mongod restart
Если вы используете команду mongod --auth --dbpath /data/db1
для запуска MongoDB, удалите --auth
и запустите его.
mongod --dbpath/data/db1
Теперь Robomongo сможет подключаться без аутентификации. Но запуск без аутентификации небезопасен. Поэтому возьмите другой терминал и создайте пользователя для своего db, используя команду mongo
, как описано в этой статье .
use myDB
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ]
}
)
Теперь перезапустите MongoDB с помощью --auth
. Подключитесь к Robomongo после настройки данных аутентификации в настройках подключения.
mongod --auth --dbpath/data/db1
У меня была такая же проблема (с использованием Robomongo), затем я создал пользователя с его паролем для подключения к базе данных, и теперь он работает нормально
Мне понадобилось 7 дней, чтобы понять это. Когда я обновился до Robo 3T версии 1.3. это начало работать просто отлично. Моя предыдущая версия была 1.2.
Полезно знать, если у вас возникла эта проблема.
При использовании mongodb версии v4.2.0 возникла та же проблема, но настройки аутентификации не помогли. При подключении из Robo 3T продолжайте получать следующие журналы (например, mongoRobo).
2019-09-30T16:41:52.286-0400 I NETWORK [listener] connection accepted from 127.0.0.1:53862 #1 (1 connection now open)
2019-09-30T16:41:52.286-0400 I NETWORK [conn1] received client metadata from 127.0.0.1:53862 conn1: { application: { name: "robo3t" }, driver: { name: "MongoDB Internal Client", version: "3.4.3-10-g865d2fb" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "17.7.0" } }
2019-09-30T16:41:52.292-0400 E - [conn1] Assertion: Location34348: cannot translate opcode 2010 src/mongo/rpc/message.h 120
2019-09-30T16:41:52.292-0400 I NETWORK [conn1] DBException handling request, closing client connection: Location34348: cannot translate opcode 2010
2019-09-30T16:41:52.292-0400 I NETWORK [conn1] end connection 127.0.0.1:53862 (0 connections now open)
Наконец-то решили, обновив Robo 3T до v1.3 (mac)
Я только что узнал, что мне нужно обновиться до последней версии, которая поддерживает последнюю версию MongoDB. Это работало без какой-либо аутентификации.