1. 程式人生 > >MongoDB 安裝和解除安裝(親測適用win10)

MongoDB 安裝和解除安裝(親測適用win10)

content

- MongoDB 安裝過程及注意事項
- MongoDB 解除安裝過程及注意事項
- 安裝解除安裝過程中報過的錯
- 幾點補充

1. MongoDB 安裝過程

(1) 下載安裝包

下載地址
選擇3.6 MSI版本,下文以mongodb 3.6為示例

(2) 安裝mongdo到指定的目錄

如:D:\MongoDB\Server\3.6

(3) 安裝注意

安裝過程中,不要勾選 Install MongoDB Compass, 這是安裝官方的視覺化工具,一方面連結其官網下載速度非常慢,另外該工具也特別不好用,建議用CMD直接操作
在這裡插入圖片描述
安裝完成畫面
在這裡插入圖片描述

(4) 將 D:\MongoDB\Server\3.6\bin 新增到環境變數中

環境變數的作用:
將特定的目錄新增到環境變數(path變數中)中,那麼在任意的 cmd 目錄下都可以執行 該目錄下的可執行命令

使用者變數: 當前登入使用者的變數設定,修改 只有本使用者起作用
系統變數: 對所有使用者都起作用的

修改了 環境變數後, 必須重啟cmd 才起作用!
(5) 配置mongod.conf檔案(如下),並且在D:\MongoDB下新建 data和log 資料夾

配置mongod.conf檔案
在這裡插入圖片描述
在這裡插入圖片描述

(6) 配置注意

注意一:
如果是生產環境,需要使用驗證模式
即開啟使用者認證
auth=true
切記,否則會導致資料庫風險

注意二:
繫結ip
127.0.0.1: 本機IP
localhost: 等同於 127.0.0.1
192.168.8.2: 區域網IP, 所有192.168 開頭的ip,都是區域網IP
除了本機外, 區域網的機器都可以訪問(前提是要關閉防火牆或者開放允許訪問埠號)
121.69.88.226: 外網IP, 所有網際網路的機器都可以訪問
0.0.0.0: 最終的預設IP,所有以上4個型別的ip來源都可以訪問!

(7) 以管理員身份開啟cmd命令視窗

可以CMD切換到 D:\MongoDB\Server\3.6\bin 目錄下,當然這個步驟如果環境變數安裝正確,就不用考慮

(8) 將mongodb安裝為服務

方式一:
在cmd命令視窗中輸入 mongod --install -f “D:\MongoDB\Server\3.6\mongod.conf”
在這裡插入圖片描述

方式二:
mongod --config "D:\ MongoDB\Server\3.6\mongod.conf " --install

(9) 安裝完成後,使用 net start mongodb 啟動服務

在這裡插入圖片描述

2. MongoDB 解除安裝過程

  • 先stop服務
    cmd下用
    sc stop mongodb

  • 然後想徹底清掉mongodb,需要delete服務
    sc delete MongoDB

  • 注意!!名字是個坑,需要跟我的電腦中的服務中的mongodb,保證服務名稱大小寫一致

  • 然後再是軟體解除安裝,資料庫刪除。以上需基於服務已經完全停止並且刪除

3. 安裝解除安裝過程中報過的錯

(1) net start mongodb發生系統錯誤2 系統找不到指定的檔案

解決方法:

  • 開啟控制面板-管理工具-服務

  • 點選mongodb服務,右鍵屬性發現啟動位置仍在在上次的安裝路徑下c:\program files\mongodb,沒有改成D盤(就是你自己的安裝盤)

  • 我們需要先stop服務
    sc stop mongodb
    然後想徹底清掉mongodb,需要delete服務
    sc delete MongoDB

(2) Connect failed

在這裡插入圖片描述

(3)"not authorized on test to execute command { listCollections: 1.0 }

雖然這個錯誤很簡單,但是初次接觸mongodb,被這個錯折磨到凌晨2點…也感謝提供答案的博主…

mongodb進行操作時,出現errmsg" : "not authorized on test to execute command { listCollections: 1.0 }這個提示

表示沒有許可權,那就趕緊新增使用者吧

切換到admin庫

use admin;

新增使用者
db.createUser( {
    user: "sa",
    pwd: "sa",
    roles: [ { role: "root", db: "admin" } ]
  });

既然已經添加了使用者
用sa賬號登入
db.auth('sa','sa');

幾點補充:

1、常見安裝問題:
  • 設定環境變數,是設定 path 變數
  • 2個目錄之間,使用 ; (不是中文狀態下的;) 進行分隔
  • 不要使用中文目錄,甚至不要使用 ‘Program Files’
  • 引用檔案的符號是: “” 而不是 “”
2、程式設計中, 不要使用 中文 作為
資料夾、檔案、變數、類都使用  字母、數字、_   作為字串就好了,可以檢視一下PEP8
3、返回資訊識別:

“ok” : 1 # 代表成功了
“ok” : 0 # 代表失敗了
“err” : 1 # err 是 error 的簡寫, 代表失敗
“err” : 0 # 代表沒有錯, 成功了
“error” : 1
“error” : 0

4、常見的配置檔案
conf、cfg、ini、xml等
5、 delete 和 truncate
  • delete:
    delete * from table_name
    速度慢
    會寫日誌
    逐條刪除
    自增id不會恢復
  • truncate:
    truncate table table_name
    速度快
    整個表在磁碟刪除,在使用對應的 DDL 生成一個新表
    不寫日誌
    自增ID會從1開始
6、mongodb _id 欄位
如果 json 文件 中 沒有指定 _id  key,那麼 mongodb會自動寫入 _id  key

{ "_id" : ObjectId("5bf661a3bde7ac69f29185e7"), "name" : "terry", "age" : 18 }
{ "_id" : ObjectId("5bf66259bde7ac69f29185e8"), "name" : "mary" }
{ "_id" : ObjectId("5bf66259bde7ac69f29185e9"), "name" : "hanmeimei" }
{ "_id" : "myid", "name" : "lilei", "age" : 20 }
查詢時,
系統生成的 _id  必須這樣訪問:
db.test.find({'_id': ObjectId("5bf66259bde7ac69f29185e8")})