[! [Введите описание изображения здесь] [1]] [1] Привет им пытаются подключиться к MongoDB через код питонаподключения к MongoDB с аутентификацией с помощью PyMongo 2.7
client = MongoClient("mongodb://username:[email protected]/mydatabase-1")
db = client['mydatabase-1']
и или
connection = MongoClient('localhost', 27017)
db = connection['mydatabase-1']
db.authenticate('username', 'mypassword')
uri = "mongodb://username:[email protected]/mydatabase-1"
client = MongoClient(uri)
, но я постоянно получаю ту же ошибку, бесперебойно
ConfigurationError: command SON([('authenticate', 1), ('user', u'CEI'), ('nonce', u'950483ef6634f14'), ('key', u'76f0102585a7571d96dace50d7aca5a6')]) failed: auth failed
Я использую PyMongo 2.7 с Python 2.7. Я предполагаю, что это означает, что я работаю с механизмом = «MONGODB-CR»
Я могу использовать эти учетные данные для подключения к базе данных MongoDB с использованием MongoChef (GUI), и он отлично работает.
Я попытался обновить pymongo, и он находится в версии 2.7. Я не могу использовать более высокую версию, потому что у меня есть python 2.7. Я не могу найти больше решений в Интернете. Из того, что я прочитал на сайте MongoDB, он должен работать с механизмом = «MongoDB-CR», но не для механизма = «SCRAM-SHA-1» из-за того v2.7
имеют MongoDB работает с использованием
E:\MongoDB\bin\mongod.exe --auth --port 27017 --dbpath E:\Data\db
и настроить пользователя с помощью
use admin
db.createUser(
{
user: "username",
pwd: "mypassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
UPDATE !!!!!!!!!!!!!!!!!!!!!!!!!!
удалось получить pymongo 3.4, используя установку pip. Но все же получение этого сообщения
runfile('C:/Users/mdb_emr_syn/untitled0.py', wdir='C:/Users/mdb_emr_syn')
Traceback (most recent call last):
File "<ipython-input-19-2ecc66a5cadd>", line 1, in <module>
runfile('C:/Users/mdb_emr_syn/untitled0.py', wdir='C:/Users/mdb_emr_syn')
File "C:\Program Files\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)
File "C:\Program Files\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 87, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Users/mdb_emr_syn/untitled0.py", line 11, in <module>
connection.yo.authenticate("CEI","Syn12345.")
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\database.py", line 1048, in authenticate
connect=True)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\mongo_client.py", line 505, in _cache_credentials
sock_info.authenticate(credentials)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\pool.py", line 523, in authenticate
auth.authenticate(credentials, self)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\auth.py", line 470, in authenticate
auth_func(credentials, sock_info)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\auth.py", line 450, in _authenticate_default
return _authenticate_scram_sha1(credentials, sock_info)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\auth.py", line 201, in _authenticate_scram_sha1
res = sock_info.command(source, cmd)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\pool.py", line 419, in command
collation=collation)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\network.py", line 116, in command
parse_write_concern_error=parse_write_concern_error)
File "C:\Program Files\Anaconda2\lib\site-packages\pymongo\helpers.py", line 210, in _check_command_response
raise OperationFailure(msg % errmsg, code, response)
OperationFailure: Authentication failed.
любые идеи относительно того, почему ????? спасибо ребята
Я не уверен, что это опечатка в вашем вопросе, но у вас есть значение '.' (точка) в вашем значении пароля URI. Если это опечатка, пожалуйста, обновите свой вопрос. Благодарю. –