python - Not able to connect to MongoDB using django/mongoengine (auth failed) -
below screen dump of when try connect mongodb
ps d:\projects\project1> python manage.py shell traceback (most recent call last): file "c:\python33\lib\site-packages\pymongo\mongo_client.py", line 381, in __init__ self._cache_credentials(source, credentials, _connect) file "c:\python33\lib\site-packages\pymongo\mongo_client.py", line 456, in _cache_credentials auth.authenticate(credentials, sock_info, self.__simple_command) file "c:\python33\lib\site-packages\pymongo\auth.py", line 243, in authenticate auth_func(credentials[1:], sock_info, cmd_func) file "c:\python33\lib\site-packages\pymongo\auth.py", line 222, in _authenticate_mongo_cr cmd_func(sock_info, source, query) file "c:\python33\lib\site-packages\pymongo\mongo_client.py", line 687, in __simple_command helpers._check_command_response(response, none, msg) file "c:\python33\lib\site-packages\pymongo\helpers.py", line 178, in _check_command_response raise operationfailure(msg % errmsg, code, response) pymongo.errors.operationfailure: command son([('authenticate', 1), ('user', 'root'), ('nonce', '341583b26e94ab52'), ('ke y', 'd5c3bb5bb28e646499bfc65cf7fd3457')]) failed: auth failed during handling of above exception, exception occurred: traceback (most recent call last): file "c:\python33\lib\site-packages\mongoengine\connection.py", line 122, in get_connection _connections[alias] = connection_class(**conn_settings) file "c:\python33\lib\site-packages\pymongo\mongo_client.py", line 383, in __init__ raise configurationerror(str(exc)) pymongo.errors.configurationerror: command son([('authenticate', 1), ('user', 'root'), ('nonce', '341583b26e94ab52'), (' key', 'd5c3bb5bb28e646499bfc65cf7fd3457')]) failed: auth failed during handling of above exception, exception occurred: traceback (most recent call last): file "manage.py", line 10, in <module> execute_from_command_line(sys.argv) file "c:\python33\lib\site-packages\django\core\management\__init__.py", line 399, in execute_from_command_line utility.execute() file "c:\python33\lib\site-packages\django\core\management\__init__.py", line 392, in execute self.fetch_command(subcommand).run_from_argv(self.argv) file "c:\python33\lib\site-packages\django\core\management\__init__.py", line 261, in fetch_command commands = get_commands() file "c:\python33\lib\site-packages\django\core\management\__init__.py", line 107, in get_commands apps = settings.installed_apps file "c:\python33\lib\site-packages\django\conf\__init__.py", line 54, in __getattr__ self._setup(name) file "c:\python33\lib\site-packages\django\conf\__init__.py", line 49, in _setup self._wrapped = settings(settings_module) file "c:\python33\lib\site-packages\django\conf\__init__.py", line 128, in __init__ mod = importlib.import_module(self.settings_module) file "c:\python33\lib\importlib\__init__.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) file "<frozen importlib._bootstrap>", line 1584, in _gcd_import file "<frozen importlib._bootstrap>", line 1565, in _find_and_load file "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked file "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper file "<frozen importlib._bootstrap>", line 1022, in load_module file "<frozen importlib._bootstrap>", line 1003, in load_module file "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper file "<frozen importlib._bootstrap>", line 868, in _load_module file "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed file "d:\projects\project1\project1\settings.py", line 94, in <module> mongoengine.connect(_mongodb_name, host=_mongodb_database_host) file "c:\python33\lib\site-packages\mongoengine\connection.py", line 161, in connect return get_connection(alias) file "c:\python33\lib\site-packages\mongoengine\connection.py", line 124, in get_connection raise connectionerror("cannot connect database %s :\n%s" % (alias, e)) mongoengine.connection.connectionerror: cannot connect database default : command son([('authenticate', 1), ('user', 'root'), ('nonce', '341583b26e94ab52'), ('key', 'd5c3bb5bb28e646499bfc65cf7fd 3457')]) failed: auth failed ps d:\projects\project1>
how can solved ?
my setup:
pymongo = 2.7 mongoengine = 0.8.8 mongodb = 3.0.3 python = 3.3.5 django = 1.6
database section of settings.py
:
import mongoengine databases = { 'default': { 'engine': '', 'name': 'test', }, } session_engine = 'mongoengine.django.sessions' # optional _mongodb_user = 'root' _mongodb_passwd = 'root' _mongodb_host = '127.0.0.1' _mongodb_name = 'test' _mongodb_database_host = \ 'mongodb://%s:%s@%s/%s' \ % (_mongodb_user, _mongodb_passwd, _mongodb_host, _mongodb_name) mongoengine.connect(_mongodb_name, host=_mongodb_database_host) authentication_backends = ( 'mongoengine.django.auth.mongoenginebackend', )
i think problem mongoengine <= 0.9.0 not support new security algorithm used mongo3+ versions scram-sha-1 mongo2.x verions used mongodb-cr.
i first created user mongodb 2.6.7 using command
> use mydatabase > db.adduser("username","secretpass")
and started mongodb v3.0.4 server on same dbpath. till have been able save document using django 1.8 app. update if goes wrong.
Comments
Post a Comment