简体   繁体   English

从本地主机备份Mongodb数据库

[英]Mongodb database backup from localhost

I am using "mongodb-backup" plugin for take database backup. 我正在使用“ mongodb-backup”插件进行数据库备份。

Database connection url link: 数据库连接URL链接:

var _dbConnectionURL = 'mongodb://uname:password@LocalIpAddress:port/databasename?authdb=admin';
mongoose.connect(_dbConnectionURL);

This code for connect nodejs with mongodb. 该代码用于将nodejs与mongodb连接。 It is working well. 运行良好。

Now i try to take backup from nodejs 现在我尝试从nodejs进行备份

var backup = require('mongodb-backup');
backup({
    uri: _dbConnectionURL,
    root: './Media/MongoDB_BK',
    tar: 'sample.tar',
    callback: function (err) {
        if (err) {
            console.error(err);
        } else {
            console.log('finish');
        }
    },
});

Error: 错误:

{ MongoError: Authentication failed.
at Function.MongoError.create (F:\Hardik_Working\Eviral\MongoDB\BackEnd\Evir
al_Node_API\node_modules\mongodb-backup\node_modules\mongodb-    core\lib\error.js:3
1:11)
at F:\Hardik_Working\Eviral\MongoDB\BackEnd\Eviral_Node_API\node_modules\mon
godb-backup\node_modules\mongodb-core\lib\connection\pool.js:483:72
at authenticateStragglers (F:\Hardik_Working\Eviral\MongoDB\BackEnd\Eviral_N
ode_API\node_modules\mongodb-backup\node_modules\mongodb-    core\lib\connection\poo
l.js:429:16)
at Connection.messageHandler (F:\Hardik_Working\Eviral\MongoDB\BackEnd\Evira
l_Node_API\node_modules\mongodb-backup\node_modules\mongodb-    core\lib\connection\
pool.js:463:5)
at Socket.<anonymous> (F:\Hardik_Working\Eviral\MongoDB\BackEnd\Eviral_Node_
API\node_modules\mongodb-backup\node_modules\mongodb-    core\lib\connection\connect
ion.js:317:22)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:543:20)
name: 'MongoError',
message: 'Authentication failed.',
ok: 0,
code: 18,
errmsg: 'Authentication failed.' }

Try using authsource instead of authdb 尝试使用authsource而不是authdb

var _dbConnectionURL = 'mongodb://uname:password@LocalIpAddress:port/databasename?authsource=admin';

or try setting authdb in the options parameter 或尝试在options参数中设置authdb

backup({
    uri: _dbConnectionURL,
    root: './Media/MongoDB_BK',
    tar: 'sample.tar',
    options: {
       authSource: 'admin'    
    }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM