>[danger] **棄用提醒:**
> *由于看云對于免費用戶的限制愈發嚴苛,本文檔已經遷移至語雀。本文檔將不做維護。*
> **語雀地址**:[https://www.yuque.com/a632079/nodebb](https://www.yuque.com/a632079/nodebb)
*****
# 更新 MongoDB
>[info] 本章節包含著自本文檔創建以來所涉及的所有 MongoDB 發行版更新
[TOC]
## 3.4 更新至 3.6
>[warning] MongoDB 3.6 尚未在 MacOS 新推出的文件系統 APFS 中進行測試,可能會導致錯誤。
本教程將指導如何將 `mongod` 包 正確從 3.4 升級至 3.6。
如果您需要更新其他的包,請參閱: https://docs.mongodb.com/manual/release-notes/3.6/
>[danger] 在嘗試升級之前,請先熟悉本文的內容。
>
### 升級建議和檢測清單
升級時,請檢測以下幾點:
* **升級版本路徑**
您必須運行 3.4.x 版本,才能將現有的 MongoDB 升級至 3.6
如果您運行早于 3.4.x 的版本,您必須將現有版本升級至 3.4.x 才能升級至 3.6
* **準備**
在開始升級之前,請參閱 MongoDB 3.6文檔 中的 [兼容性更改](https://docs.mongodb.com/manual/release-notes/3.6-compatibility/) ,以確保您的應用程序與 MongoDB 3.6 兼容。
在開始升級之前,請 **解決** 應用程序部署中的不兼容問題。
將升級部署到生產環境之前,請在暫存環境中 **測試** 您的應用程序部署。
* **降級考慮**
如果在此之前已經升級至 3.6 的測試版本,我們建議您降級至 3.4 的最新補丁版本。
* **默認綁定到本地主機**
從 MongoDB 3.6 開始,`mongod` 和 `mongo` 實例默認綁定 `localhost`。 遠程客戶端無法連接到僅綁定到本地主機的實例。 要覆蓋和綁定到其他IP地址,請使用配置文件(`/etc/mongodb.conf`)中的 `net.bindIp` 設置 或 使用 `--bind_ip` 命令行選項 指定一個IP地址列表。
如果希望遠程客戶端連接到您的實例,升級過程將要求您指定 `net.bindIp` 設置。
>[danger] 綁定到其他IP地址之前,請考慮啟用訪問控制或其他安全措施,以防止未經授權的訪問。
### 準備
3.4 實例必須已把 `featureCompatibilityVersion` 設置為 `3.4`。要檢測設置,請輸入:
```
> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
```
返回的結果應該包含 `"featureCompatibilityVersion": "3.4".`
如果沒有,那么請 更新 或 設置 `featureCompatibilityVersion`:
```
> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
```
### 更新 Mongodb 程序
將 Mongodb Repos 的地址中的 3.4 更換為 3.6,然后執行:
```
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 # 安裝 3.6 的密鑰 (Debian / Ubuntu Only)
$ sudo apt update && sudo apt upgrade #Debian/Ubuntu
$ sudo yum update #REHL/CentOS
```
### 更新步驟
1. **將 3.4 二進制文件替換為 3.6**
由于我們是從包管理器中更新的 MongoDB,我們只需執行:`sudo systemctl restart mongod`,即可切換至 3.6.
2. **啟用向后不兼容的 3.6 特性**
在這步,你可以運行 3.6 而不啟用其版本特性以兼容 3.4
要啟用這些3.6功能,請將功能兼容性版本設置為 3.6。
```
> use admin
> db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
```
完成!
>[info] 編寫: a632079 & MongoDB Docs
維護: PA Team
審核: PA Team
最后更新: 2018.01.20
- 序
- 贊助
- 導言
- 安裝
- 通過操作系統
- Windows + Mongodb/Redis
- Ubuntu/Debian + Redis/Mongodb
- CentOS + Redis
- CentOS + Mongodb
- FreeBSD/OpenBSD + Redis
- Arch Linux + Redis
- OSX + Redis
- 通過云服務
- 通過主機面板安裝
- AppNode
- CPanel
- 寶塔
- 使用
- FAQ
- 高級
- 運行 NodeBB
- 配置 Config.json
- 配置 Nginx
- 配置 MongoDB
- 更新 NodeBB
- 設置 Widgets
- 安裝 Yarn
- 更新 MongoDB
- 數據庫備份與恢復
- 重置管理員密碼
- 讓 NodeBB 支持搜索
- 優化
- 優化配置,提升NodeBB處理能力
- Google字體庫 -> 360公共前端庫
- Google字體庫 -> 中科大鏡像
- 海外VPS提升NodeBB訪問速度
- 通過 NodeBB API 自動發帖
- 開發
- 準備
- 常用方法 & 變量
- 插件制作
- 使用工具包編寫一個插件
- 主題制作
- 使用工具包編寫一個主題
- 部件制作
- 國際化
- 鉤子(hook)使用說明