mongodb — проблема с настройкой пользователей и подключением к Mongo с помощью Stack Overflow

Я установил Mongo 3.0.0 на свой сервер Ubuntu.
Я пытался использовать PHP (с соответствующей установленной библиотекой), чтобы подключиться к Монго, чтобы узнать что-то новое. К сожалению, я не могу идти дальше.
Моя пользовательская конфигурация выглядит так:

> use testdb
switched to db testdb
> show users
{
"_id" : "testdb.testdb",
"user" : "testdb",
"db" : "testdb",
"roles" : [
{
"role" : "readWrite",
"db" : "testdb"}
]
}

Затем я пытаюсь выполнить следующий код PHP:

try{
$uri = "mongodb://testdb:[email protected]:27017/testdb";
$options = array("connectTimeoutMS" => 30000);
$client = new MongoClient($uri, $options );
}
catch(Exception $e) {
echo 'Message: ' .$e->getMessage();
die();
}
$db = $client->selectDB("testdb");

Я получаю «Сообщение: Не удалось подключиться к: xxx.xxx.xxx.xxx:27017: Ошибка аутентификации на базе данных« testdb »с именем пользователя« testdb »: ошибка аутентификации»).

В /etc/mongod.conf я оставил комментарий «auth = true»

Я также проверил согласие с:

> nc -w 3 -v xxx.xxx.xxx.xxx 27017 Connection to xxx.xxx.xxx.xxx 27017
> port [tcp/*] succeeded!

Я копаюсь в интернете, я потратил несколько часов на это, я даже переустанавливал монго и все заново настраивал без какого-либо успеха.
Не могли бы вы указать, где искать решение?

0

Решение

Схема аутентификации 3.0 не совместима с драйверами 2.x. Один из способов заставить его работать, это понизить механизм аутентификации:

use "admin"var schema = db.system.version.findOne({"_id" : "authSchema"})
schema.currentVersion = 3
db.system.version.save(schema)

Затем создайте пользователя, и вы сможете подключиться к нему.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]