Подключение к новой MongoDB на AWS - PullRequest
0 голосов
/ 28 апреля 2018

Я установил версию сообщества mongodb на экземпляре Ec2 на своем AWS. Установка прошла хорошо, и я смог запустить команду Монго.

Затем я последовал этому уроку: https://ianlondon.github.io/blog/mongodb-auth/

Для создания пользователя и базы данных. Затем я открыл порт 27017 в моей группе безопасности aws для этого экземпляра.

Я продолжаю пытаться соединиться с моей новой базой данных с помощью пользователя, базы данных и пароля, которые я создал, однако это не позволит мне. Я использую Robo 3T, чтобы установить соединение.

Я использовал этот код для создания моего пользователя:

use build_db

db.createUser({
    user: 'admin',
    pwd: 'secretpassword',
    roles: [{ role: 'readWrite', db:'build_db'}]
});

Когда я набираю команду show users в терминале Монго, я просто получаю эту ошибку "Ошибка: не авторизован на тесте для выполнения команды {usersInfo: 1.0, $ db:" test "}: "

Кто-нибудь знает, как я могу заставить это подключиться и работать через Robo 3T. Заранее спасибо!

Обновление: теперь кажется, что я даже не могу подключиться к оболочке Монго.

Я получаю эту ошибку:

MongoDB shell version v3.6.4
connecting to: mongodb://127.0.0.1:27017
2018-04-27T22:13:41.983+0000 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2018-04-27T22:13:41.983+0000 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed

Ответы [ 2 ]

0 голосов
/ 28 апреля 2018

Теперь я решил эту проблему для всех, кто столкнулся с проблемой! Лучший способ подключения - установить URL базы данных на локальный хост. Затем добавьте ключ SSH и кредиты в раздел туннеля ssh. Я оставил пользовательскую область непроверенной. Успешно подключился через Robo 3T! Надеюсь, что это поможет любому, кто столкнется с проблемой в будущем.

0 голосов
/ 28 апреля 2018

Разрешение readWrite довольно ограничено и, скорее всего, является причиной, по которой вы не можете выполнить команду пользователя через Терминал (https://docs.mongodb.com/manual/reference/built-in-roles/#readWrite).

Если у этого пользователя есть права администратора, вместо этого вы можете установить роль dbOwner (https://docs.mongodb.com/manual/reference/built-in-roles/#dbOwner).

...