問題狀況:
使用 (位於主機 B) MongoDB shell 登入 MongoDB (位於主機 A)mongo --host <IP> -u <db_user> -p --authenticationDatabase <db_bane> --authenticationMechanism SCRAM-SHA-256遇到錯誤訊息
connecting to: <IP>:27017/test
2018-12-09T23:33:29.924-0500 Error: 2 SCRAM-SHA-256 mechanism support not compiled into client library. at src/mongo/shell/db.js:1292
exception: login failed
解決方式:
mongodb - Mongo Authentication - Stack Overflow 問題在於使用錯誤的 shell 版本。1. 檢查 (位於主機 A) MongoDB 伺服器的 MongoDB shell 版本
# 查看 MongoDB shell 版本的 Windows 指令
> C:\MongoDB\Server\4.0\bin\mongo.exe --version
# 查看 MongoDB shell 版本的 Linux 指令
$ sudo mongo --version
MongoDB shell version: 2.6.12
版本資訊是
MongoDB shell version v4.0.4git version: f288a3bdf201007f3693c58e140056adf8b04839allocator: tcmallocmodules: nonebuild environment: distmod: 2008plus-ssl distarch: x86_64 target_arch: x86_64
2. (位於主機 B) 另一台機器的 MongoDB shell 版本
MongoDB shell version: 2.6.12
需要更新到 4 版本
4. (位於主機 B) 編輯 yum 設定
https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
對應到 redhat 的主要版本
https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
5. (位於主機 B) 確認 yum 設定
8. 此時可以順利登入 MongoDB 伺服器 (位於主機 A)
圖片來源
MongoDB icon by Icons8
4. (位於主機 B) 編輯 yum 設定
$ sudo vi /etc/yum.repos.d/mongodb-org.repomongodb-org.repo 檔案內容
[mongodb-org-4.0]根據文件 8.4.3. Using Yum Variables - Red Hat Customer Portal
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
對應到 redhat 的主要版本
https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
5. (位於主機 B) 確認 yum 設定
yum repolist6. (位於主機 B) 安裝或更新 MongoDB 相關套件
# 如果是全新安裝
sudo yum install mongodb-org
# 如果是更新
sudo yum update mongodb-org
7. (位於主機 B) 確認新安裝的 MongoDB shell 版本
$ sudo mongo --version
MongoDB shell version: 4.0.4
8. 此時可以順利登入 MongoDB 伺服器 (位於主機 A)
mongo --host <IP> -u <db_user> -p --authenticationDatabase <db_bane> --authenticationMechanism SCRAM-SHA-256
版本資訊
- MongoDB 伺服器: 4.0.4 (db.version() 回傳資訊)
- MongoDB shell 版本: 4.0.4 (mongo --version 回傳資訊)
相關資料
圖片來源
MongoDB icon by Icons8
留言
張貼留言