Làm cách nào để gỡ cài đặt MongoDB và cài đặt lại phiên bản mới nhất?


49

Tôi cần gỡ cài đặt mongodb hoàn toàn khỏi hệ thống của mình (Ubuntu 11.10) và cài đặt phiên bản 2.0.5.

Hiện tại, khi tôi chạy:

mongo db

Tôi nhận được lỗi sau đây:

Phiên bản shell MongoDB: 2.0.1
kết nối với: db
Thứ tư 6 tháng 6 13:05:03 Lỗi: không thể kết nối với máy chủ 127.0.0.1 shell / mongo.js: 84 ngoại lệ: kết nối không thành công


Câu trả lời:


83

Có hai bộ gói cho MongoDB ; các gói Ubuntu tiêu chuẩn và một bộ được xuất bản bởi chính 10gen. Các gói tiêu chuẩn đã hết hạn, đặc biệt là các bản phát hành cũ hơn của Ubuntu, vì vậy có lẽ bạn nên tự cài đặt để cài đặt từ kho lưu trữ 10gen.

Thông báo lỗi mà bạn trích dẫn cho thấy rằng bạn có thể đã thử điều này, vì phiên bản 2.0.1 không phải là gói Ubuntu tiêu chuẩn. Tôi đề nghị rằng trước hết, bạn gỡ cài đặt hoàn toàn Mongo và dọn sạch hệ thống của bạn. Nếu bạn có dữ liệu hiện có mà bạn muốn giữ, bạn có thể sao lưu dữ liệu đó. Theo mặc định, nó được lưu trữ trong /var/lib/mongodb. Vì vậy, nếu bạn muốn sao lưu, hãy lấy một bản sao của các tệp từ đó và giữ chúng ở nơi an toàn.

Gỡ cài đặt các gói MongoDB hiện có

Vì tôi không phải là 100% những gì bạn đã cài đặt, tôi đề nghị những điều sau để đảm bảo mọi thứ được gỡ cài đặt:

sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev
sudo apt-get purge mongodb-10gen
sudo apt-get autoremove

Một số lệnh đó có thể thất bại, tùy thuộc vào gói bạn thực sự đã cài đặt, nhưng không sao.

Điều này cũng sẽ loại bỏ cấu hình của bạn từ /etc/mongodb.conf. Nếu bạn muốn dọn dẹp hoàn toàn, bạn cũng có thể muốn xóa thư mục dữ liệu /var/lib/mongodb, miễn là bạn sao lưu hoặc không muốn nó nữa.

Nếu bạn đã cài đặt bằng cách xây dựng từ nguồn hoặc sử dụng phân phối nhị phân 10gen, thì bạn sẽ cần gỡ cài đặt thủ công và dọn sạch từ bất cứ nơi nào bạn đặt tệp nhị phân, cấu hình và tệp dữ liệu.

Cài đặt các gói MongoDB 10gen

Thực hiện theo các hướng dẫn 10gen để thêm kho lưu trữ của họ:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Chỉnh sửa /etc/apt/sources.list, xóa bất kỳ dòng nào bạn đã thêm cho Mongo và thêm dòng đơn sau (kể từ 11.10 sử dụng mới bắt đầu) ở cuối:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Lưu ý rằng nếu bạn thêm kho lưu trữ này bằng Trung tâm phần mềm, nó sẽ tự động thêm mục deb-src, điều này sẽ phá vỡ apt-get. Vì vậy, bạn sẽ cần phải chỉnh sửa danh sách nguồn của mình bằng tay để chỉ thêm dòng trên.

Sau đó để cài đặt, chạy:

sudo apt-get update 
sudo apt-get install mongodb-10gen

Kiểm tra cài đặt của bạn

Việc cài đặt các gói sẽ tự động khởi động máy chủ MongoDB. Vì vậy, bạn sẽ có thể chạy máy khách từ dòng lệnh:

mongo

mà nên kết nối thành công với cơ sở dữ liệu thử nghiệm. Bạn có thể thoát bằng cách gõ exit.

Nếu thất bại, vui lòng cập nhật câu hỏi của bạn với các chi tiết khác, bao gồm cả đầu ra của việc cố gắng kết nối và đính kèm /var/log/mongodb/mongodb.logtệp của bạn .


maisapride1 @ maisapride1: / $ sudo apt-get purge mongodb-mongodb-client mongodb-server mongodb-dev Đọc danh sách gói ... Xong Xây dựng cây phụ thuộc Đọc thông tin trạng thái ... Xong Gói mongodb chưa được cài đặt, vì vậy không được gỡ bỏ Máy khách không được cài đặt, vì vậy không được gỡ bỏ Gói mongodb-dev không được cài đặt, vì vậy không được gỡ bỏ Gói mongodb-máy chủ không được cài đặt, vì vậy không được gỡ bỏ 0 nâng cấp, 0 mới cài đặt, 0 để gỡ bỏ và 406 không được nâng cấp. ----- khi cố gắng loại bỏ, khi tôi lại đưa ra mongo, nó hiển thị vesion: phiên bản shell MongoDB: 2.0.1
jyothi

Điều đó là tốt; như tôi đã nói, một số lệnh đó có thể thất bại, tùy thuộc vào gói bạn đã cài đặt. Những lỗi cụ thể đó cho thấy rằng bạn chưa cài đặt các gói Ubuntu MongoDB tiêu chuẩn.
David Edwards

Bạn đã chạy lệnh thứ hai để loại bỏ các gói 10gen? Nếu điều đó cũng không xóa được gì và bạn vẫn có thể chạy ứng dụng khách mongo, thì bạn phải thực hiện cài đặt thủ công và bạn sẽ phải xóa bằng tay.
David Edwards

Tôi có thể biết cách cài đặt hoặc cập nhật mongo db lên 2.0.5 từ 2.0.1 không
jyothi

Cài đặt các gói 10gen như được mô tả trong câu trả lời của tôi sẽ cung cấp cho bạn 2.0.6. Các phiên bản trước có sẵn để tải xuống và cài đặt thủ công từ trang web MongoDB, nhưng tôi thực sự khuyên bạn nên sử dụng các phiên bản đóng gói.
David Edwards

27

Để xóa hoàn toàn MongoDB khỏi một hệ thống, bạn phải tự xóa các ứng dụng MongoDB, các tệp cấu hình và bất kỳ thư mục nào chứa dữ liệu và nhật ký. Phần sau đây hướng dẫn bạn qua các bước cần thiết.

  1. Dừng MongoDB

    Dừng quá trình mongod bằng cách ban hành lệnh sau:

    sudo service mongod stop
    
  2. Xóa gói

    Xóa mọi gói MongoDB mà bạn đã cài đặt trước đó.

    sudo apt-get purge mongodb-org*
    
  3. Xóa thư mục dữ liệu.

    Xóa cơ sở dữ liệu MongoDB và các tệp nhật ký.

    sudo rm -r /var/log/mongodb /var/lib/mongodb
    

4

Thực hiện theo các bước:

  1. Xóa tệp khóa

    sudo rm /var/lib/mongodb/mongod.lock
    
  2. Sửa chữa mongodb

    mongod --repair
    
  3. Bắt đầu mongodb

    sudo service mongodb start
    
  4. Bắt đầu bảng điều khiển mongo

    mongo
    

@stumblebee: Hãy xem các đề xuất chỉnh sửa như thế này! Tên dịch vụ thực sự mongodbgiống như trong phiên bản gốc và bạn có thể xác minh thông qua danh sách tệp gói .
David Foerster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.