無法串連遠程MongoDB資料庫__資料庫

來源:互聯網
上載者:User

在遠程伺服器上(CentOS6.5)安裝 MongoDB(版本3.2.10),按照如下命令啟動:

#!/bin/bash### start mongodb shell### dbpath 表示執行資料庫存放目錄(若不指定,則預設值為/data/db)### fork 表示以Daemon方式運行### auth 表示需要帳號密碼### 【注意】如果指定fork參數,則必須指定logpath參數/opt/mongodb/mongodb-3.2.10/bin/mongod --auth --dbpath=/opt/mongodb/mongodbdata --fork --logpath=/opt/mongodb/mongodblog

也添加了使用者/密碼,並添加了測試庫、測試集合、測試資料;

在伺服器(即安裝MongoDB的機器)上登入ok,查詢資料ok;

也確認伺服器的該連接埠對公網開放;


但是用MongoVUE遠端連線,死活連不上,報錯如下:


報錯為認證失敗,網上查詢,認證失敗,就是帳號或密碼錯誤;

但經過確認,在伺服器上登入、查詢均沒有問題,說明肯定不是這個錯誤。

又說是因為伺服器啟動的時候,缺少 bind_ip參數,如果不加該參數,則允許訪問的地址均為本地地址。

經筆者測試,即使加上該參數,依然無法串連。


有找到一篇博文,說MongoVUE暫不支援3.0以上的MongoDB版本,

博文地址為:https://www.oschina.net/question/1473401_2160373

搞不明白,因此現在該問題依然未解決。


另外,使用Java串連遠程MongoDB也是相同的問題,無法串連,報錯相同。代碼如下:

public static void main(String[] args) {List<MongoCredential> credentials = new ArrayList<MongoCredential>();credentials.add(MongoCredential.createMongoCRCredential("zhangsan", "demo1", "123456".toCharArray()));ServerAddress serverAddress = new ServerAddress("localhost", 27017);MongoClient mongoClient = new MongoClient(serverAddress, credentials);MongoDatabase db = mongoClient.getDatabase("demo1");//操作MongoCollection<Document> collection = db.getCollection("person");FindIterable<Document> it = collection.find();MongoCursor<Document> iterator = it.iterator();while(iterator.hasNext()) {Document doc = iterator.next();System.out.println(doc.toJson());}// 關閉資料庫連接mongoClient.close();}



【2016-11-04 晚上11點】

代碼無法串連MongoDB的錯誤,終於找到原因:

使用createScramSha1Credential方法替換createMongoCRCredential方法,即可正常串連MongoDB。

至於原因,不得而知。

可參考API:http://api.mongodb.com/java/current/com/mongodb/MongoCredential.html

博文也有說明:http://stackoverflow.com/questions/28857921/cannot-connect-to-mongodb-3-0-0-by-using-c-sharp-driver-1-10


通過另一MongoDB用戶端Robomongo0.9.0的串連介面,再猜測MongoVUE無法串連MongoDB,估計也是由於MongoVUE底層調用的方法沒有修改吧。截圖如下:





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.