Reputation: 1091
Tried taking dump from a remote node and got the following error:
Failed: can't create session: could not connect to server: connection(): auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-256": (AuthenticationFailed) Authentication failed.
Tried two methods to take dump from the remote node. But got the same error in both the methods.
# Method 1
mongodump -h remoteip@port -u xxx -p xxx --db xxx --authenticationDatabase admin
# Method 2
mongodump --uri "mongodb://username:password@remoteip:port/db?authSource=admin"
How to resolve this?
Upvotes: 13
Views: 29491
Reputation: 147
I had that problem and solved it by removing the special characters. For example, in my case I had a password abc@123. The connection string would be
mongodb://myuser:abc@[email protected]:27017/mydb?authSource=admin
as we can see a problem is generated because the "@" is a special character to separate the elements of the connection string , and I had to replace it with "%40", so my password was left as "abc%40123". And depending on the console that I used (powershell, command prompt, git bash, etc.) it generated the backup with an error or with a correct response. By removing the "@" everything worked correctly.
Possibly there is some way to configure this encryption, but in my case I preferred to change the password. I hope it will be useful to someone, greetings.
Upvotes: 0
Reputation: 530
1.If you are using an URI for mongodump command,--authenticationDatabase admin
option is equivalent to ?authSource=admin
mongodump --uri "mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"
sample url:
mongodump --uri "mongodb+srv://username1:password1@host1/db1?authSource=admin"
Upvotes: 6
Reputation: 1685
For me (trying to use mongodump on a single node DB on the same host), using --authenticationDatabase admin
did the trick:
mongodump -u root --password 'secret' --authenticationDatabase admin -d mongo-dev -o /tmp/dump-2020-11-27.bson
(courtesy of mongodump from remote node - unable to authenticate using mechanism "SCRAM-SHA-256")
Upvotes: 21
Reputation: 278
Was in the same spot that you are, solved it this way:
mongodump --uri "mongodb+srv://username:password@yourmongodbclustersourceurl" --archive \
mongorestore --uri "mongodb+srv://username:password@yourmongodbclusterdestinationurl" --archive \
--nsExclude "admin.system.*"
Needless to mention, you just need to change your username, password and the url in this formula and voila. Good luck.
Upvotes: 0
Reputation: 121
I had the same problem and solved it using single quotes in the password like this:
--password 'secret'
Upvotes: 4
Reputation: 164
I had the same issue. In my case, the password has special characters. It works with single quote for password:
-p 'my_password'
Upvotes: 13