• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

295
Views
mangosta incapaz de conectar db autorizado

Instalé mongodb 3.4.1 en ubuntu 16.04 y los alojé en digital ocean.

Mi cliente mongo local era mongochef 4.5.2

Al principio, no configuré la autorización para mi aplicación, fue pirateada y me pidieron bitcoins como rescate. Así que traté de configurar la autorización. Sin embargo, encontré un problema con el cableado, una vez establecida la authorization: enable en /etc/mongo.conf . No se puede conectar la base de datos de forma remota y local con la mongoose , y se produjo el error de autenticación fallida . Pero se podría conectar con la terminal y el mongoChef.

aquí está mi conexión con la mangosta

global.db=mongoose.connect('mongodb://admin:admin123@ip:27017/nodedb');

y también probé

var options = { user : "admin", pass : “admin123", auth : {authMechanism: 'MONGODB-CR'} } global.db = mongoose.connect('mongodb://@ip:27017/test',options);

y también cambié la ip con localhost y 127.0.0.1 localmente, falló lo mismo.

En caso de que localhost y 127.0.0.1 no lo reconozcan. También establezca la configuración en /etc/hosts con:

127.0.0.1 host local 127.0.0.1 nombre de cómputo

actualizar~:

hay dos usuarios en mi base de datos de administración. Uno es usuario root. Y otro es administrador con contraseña admin123 que autenticó DB nodedb

realmente agotado por este problema, ¿alguien ha encontrado este problema?

over 3 years ago · Santiago Trujillo
3 answers
Answer question

0

No ha especificado el origen de autenticación (la base de datos contra la que se autentica). Entonces, si authSource es admin , debe especificarse en las opciones de conexión.

 options = { "auth": { "authSource": "admin" }, "user": "apiuser", "pass": "admin123" }; // If host=localhost, port=27017 and database name=nodedb mongoose.connect('mongodb://localhost:27017/nodedb', options);
over 3 years ago · Santiago Trujillo Report

0

La autenticación se realiza a nivel de base de datos. En su cadena de conexión, db está nodedb, pero su contraseña está almacenada en la base de datos de administración. Puede conectarse a nodedb ya sea agregando un usuario a esta base de datos o definiendo la base de datos para autenticación con --authenticationDatabase admin. Usted puede leer más aquí. Para obtener más información, consulte el manual http://docs.mongodb.org/manual/reference/privilege-documents/

over 3 years ago · Santiago Trujillo Report

0

Acceda a su nodedb desde la terminal (mongosh) y luego muestre a los usuarios. Luego verifique sus roles de usuario. Agregue el rol para readWrite al usuario para la base de datos nodedb si no existe.

 use nodedb show users db.grantRolesToUser('admin',[{role:'readWrite', db:'nodedb'}])
over 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error