Tôi gặp sự cố tương tự, tôi đã nâng cấp trên Ubuntu 16.04 từ MongoDB 3.4 đến 3.6 nhưng tôi đã bỏ lỡ bước quan trọng này
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
Sau đó tôi phải hạ cấp xuống 3.4 để làm điều đó và sau đó nâng cấp lên 3.6 một lần nữa. Đây là các bước chi tiết:
1. Gỡ cài đặt 3.6
Sao lưu /etc/mongod.conf
Sao lưu
/etc/apt/sources.list.d/mongodb-org-3.6.listed
(đổi tên hoặc chuyển nó sang một thư mục khác)
sudo apt-get update
sudo apt-get remove mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
2. Cài đặt lại 3.4
Kiểm tra thư mục /etc/apt/sources.list.d/
để xem tệp này có tồn tại hay không:mongodb-org-3.4.list
.Nếu nó không tồn tại, bạn có thể tạo lại bằng lệnh này:
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sau đó cài đặt bằng apt-get
sudo apt-get update
sudo apt-get install -y mongodb-org
mongod --version
sudo systemctl start mongod
Trong trường hợp của tôi, lệnh systemctl start mongod
lỗi trả về Failed to start mongod.service: Unit mongod.service not found
Tôi đã giải quyết bằng các lệnh sau:
sudo systemctl enable mongod
sudo service mongod restart
sudo service mongod status
3. Thực thi lệnh rất quan trọng
Sau khi hạ cấp xuống 3.4, hãy chạy cái này
mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{ "featureCompatibilityVersion" : "3.4", "ok" : 1 }
> exit
4. Nâng cấp lại 3.6
Khôi phục tệp này /etc/apt/sources.list.d/mongodb-org-3.6.listed
sudo apt-get update
sudo apt-get install mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
Khôi phục /etc/mongod.conf
. Bây giờ, MongoDB 3.6 đã bắt đầu mà không gặp bất kỳ sự cố nào