不使用預設埠時mongo的幾個坑
背景:
在企業安全中,比較基礎的一塊就是:資產漏洞管理;
巡風(關於巡風,點選此處瞭解)可以用來做這件事,當然某些地方需要根據自己實際情況修改、增加,這裡不贅述;
其資料庫為mongo;
在初步使用過程中,為了方便後續的開發,需要使用pycharm整合的mongo視覺化外掛,
這其中我們遇到了一些"不使用預設埠的坑"(大佬一笑而過。。。)
遇到兩個問題:
1、無法shell連線資料庫,mongo報錯,
指定使用的埠也沒用
2、pycharm的mongo外掛無法連線,mechanism嘗試default,報錯如下,
看到支援的機制,那就嘗試MONGODB-CR,這次報錯不一樣了:認證失敗 ;但那裡認證失敗了呢,不知道。。。
解決:
1、首先搞清
mongo與mongod
要先啟動mongod(有d的一般是守護程式,或服務本身),再mongo(連線服務)
2、發現巡風的資料庫xunfeng配置時,指定了埠 65521,而不是預設的27017;
而巡風的配置檔案Config.py裡會寫明,所以用巡風的指令碼Run.sh啟動時,完全沒有問題;
但是,如果自己以shell方式要連線mongo時,如果以預設命令 mongo去連線就會報錯,認證失敗;
那麼,就在在啟動mongod的時候指定 埠65521來啟動,
# mongod --port 65521 --dbpath=/var/lib/mongodb
(或更改mongod的配置檔案,並# mongod --config /etc/mongodb.conf 以生效);
然後去連線mongo 127.0.0.1:65521/xunfeng
成功!
3、pycharm中安裝mongo視覺化外掛時
會提示認證失敗,一直找不到原因;
直到通過以上步驟shell連線上資料庫,檢視使用者資訊後才發現:
(你說坑不坑,錯誤提示裡是沒有的啊,為啥當時沒有多試一個;))
在這裡選擇相應的方式
成功
這裡記著要用使修改後的conf生效(但為啥:每次都要指定,或用配置檔案啟動 ),這樣才會連線成功;
總結:
其實就是資料庫的服務啟動時的問題,
1、沒有啟動服務
2、在沒有使用預設埠的情況下沒有指定使用的埠,(配置檔案裡也沒有寫)
後續
啟動mongod服務的,寫在開機啟動服務裡,並在後臺執行 就好;這樣不用每次都手動啟動
進入 /etc/rc.local
在最後寫 啟動mongod的命令
mongod --port 65521 --dbpath=/var/lib/mongodb &
(或更改mongod的配置檔案,並# mongod --config /etc/mongodb.conf &);
注:
1、記得寫 “空格 &” 以後臺形式執行;不然會在啟動的時候卡住
2、如果有exit 0,上述命令寫在exit 0 的前面;(exit 0 表示退出當前指令碼,後續命令不會執行)
有不對之處,望大家能交流、指正;
謝謝!
相關文章
- 筆記:同時開啟幾個服務使用 nginx 共用80埠筆記Nginx
- Linux多個埠組合,iptables使用multiport 新增多個不連續埠Linux
- 網站預設埠怎麼修改,網站預設埠修改方法網站
- 你需要知道的這幾種 asp.net core 修改預設埠的方式ASP.NET
- ajax中回撥的幾個坑
- CactiEZ更改預設80埠
- 預設非安全埠列表
- 常見軟體的預設埠號
- Linux修改ssh預設22埠的方法Linux
- .Net Core 修改預設的啟動埠
- Android中單例模式的幾個坑Android單例模式
- 小白程式設計師最容易踩的“坑”,你踩過幾個?程式設計師
- ArcGIS for Server預設埠6080修改Server
- ADFS3.0 更改預設埠S3
- foreach使用引用時的一個坑-foreach原始碼分析原始碼
- 不會填坑的程式設計師不是一個好程式設計師!程式設計師
- 折騰ChatGLM的幾個避坑小技巧
- 50個黑白時尚Lightroom預設OOM
- 使用各類BeanUtils的時候,切記注意這個坑!Bean
- Java的幾個不錯的網站Java網站
- 使用constexpr時遇到的小坑
- git伺服器非預設埠Git伺服器
- 修改Windows預設遠端埠號Windows
- ubuntu系統存在兩個PHP版本,預設版本的坑壞人UbuntuPHP
- 領導不讓用mongo了Go
- Android中的EditText預設時不彈出軟鍵盤的方法Android
- 又踩坑了!BigDecimal使用的5個坑!Decimal
- sql server 計算兩個時間 相差的 幾天幾時幾分幾秒SQLServer
- 使用 Promise 時的5個常見錯誤,你佔了幾個!Promise
- Navicat for MySQL 15使用教程:何時使用預設值以及如何選用恰當的預設值MySql
- 寫程式碼被大語言模型坑之使用LocalDateTime比較兩個時間差了幾天模型LDA
- 修改伺服器預設遠端埠伺服器
- Oracle 修改預設監聽埠故障分析Oracle
- 使用MySQL時遇到的各種坑MySql
- 【爬坑日記】vue中傳props時預設為Boolean問題VueBoolean
- php 和 nginx 的幾個超時時間PHPNginx
- mongo聚合框架aggregate使用Go框架
- 面試中的這些坑,你踩過幾個?面試
- 面試Go 被defer的幾個盲區坑了面試Go