ฉันจะถอนการติดตั้ง MongoDB และติดตั้งเวอร์ชันล่าสุดได้อย่างไร


49

ฉันต้องถอนการติดตั้ง mongodb จากระบบของฉัน (Ubuntu 11.10) และติดตั้งเวอร์ชั่น 2.0.5

ขณะนี้เมื่อฉันเรียกใช้:

mongo db

ฉันได้รับข้อผิดพลาดต่อไปนี้:

MongoDB shell เวอร์ชั่น: 2.0.1 กำลัง
เชื่อมต่อกับ: db
Wed Jun 6 13:05:03 ข้อผิดพลาด: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ 127.0.0.1 shell / mongo.js: 84 ข้อยกเว้น: การเชื่อมต่อล้มเหลว


คำตอบ:


83

มีสองชุดของแพคเกจสำหรับเป็นMongoDB ; แพ็คเกจ Ubuntu มาตรฐานและชุดเผยแพร่โดย 10gen เอง แพ็คเกจมาตรฐานล้าสมัยโดยเฉพาะอย่างยิ่งสำหรับ Ubuntu รุ่นเก่าดังนั้นจึงเป็นความคิดที่ดีที่จะตั้งค่าตัวเองให้ติดตั้งจากที่เก็บ 10gen

ข้อความแสดงข้อผิดพลาดที่คุณอ้างถึงชี้ให้เห็นว่าคุณอาจเคยลองมาแล้วเนื่องจากรุ่น 2.0.1 ไม่ใช่แพ็คเกจมาตรฐานของ Ubuntu ฉันขอแนะนำว่าก่อนอื่นคุณถอนการติดตั้ง Mongo อย่างสมบูรณ์และทำความสะอาดระบบของคุณ หากคุณมีข้อมูลที่คุณต้องการเก็บไว้คุณสามารถสำรองข้อมูลได้ /var/lib/mongodbโดยค่าเริ่มต้นจะถูกเก็บไว้ใน ดังนั้นหากคุณต้องการสำรองข้อมูลให้คัดลอกไฟล์จากที่นั่นและเก็บไว้ในที่ปลอดภัย

ถอนการติดตั้งแพ็คเกจ MongoDB ที่มีอยู่

เนื่องจากฉันไม่ใช่สิ่งที่คุณติดตั้งไว้ 100% ฉันขอแนะนำสิ่งต่อไปนี้เพื่อให้แน่ใจว่าทุกอย่างจะถูกถอนการติดตั้ง

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

คำสั่งเหล่านั้นบางส่วนอาจล้มเหลวขึ้นอยู่กับแพคเกจที่คุณติดตั้งจริง แต่ไม่เป็นไร

/etc/mongodb.confนอกจากนี้ยังควรเอาการตั้งค่าของคุณจาก หากคุณต้องการล้างข้อมูลทั้งหมดคุณอาจต้องการลบไดเรกทอรีข้อมูล/var/lib/mongodbตราบใดที่คุณสำรองข้อมูลหรือไม่ต้องการมันอีก

หากคุณติดตั้งโดยการสร้างจากแหล่งที่มาหรือใช้การแจกแจงแบบไบนารี 10gen คุณจะต้องถอนการติดตั้งและล้างข้อมูลด้วยตนเองจากทุกที่ที่คุณวางไฟล์ไบนารี่ไฟล์กำหนดค่าและไฟล์ข้อมูล

การติดตั้งแพ็คเกจ 10gen MongoDB

ทำตามคำแนะนำ 10gen เพื่อเพิ่มที่เก็บของพวกเขา:

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

แก้ไข/etc/apt/sources.listลบบรรทัดใด ๆ ที่คุณเพิ่มไปแล้วสำหรับ Mongo และเพิ่มบรรทัดเดียวต่อไปนี้ (ตั้งแต่ 11.10 ใช้ upstart) ในตอนท้าย:

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

โปรดทราบว่าถ้าคุณเพิ่มที่เก็บนี้โดยใช้ Software Center จะเพิ่มรายการ deb-src โดยอัตโนมัติซึ่งจะแบ่ง apt-get ดังนั้นคุณจะต้องแก้ไขรายการแหล่งข้อมูลด้วยตนเองเพื่อเพิ่มเฉพาะบรรทัดด้านบน

จากนั้นเพื่อติดตั้งให้รัน:

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

ตรวจสอบการติดตั้งของคุณ

การติดตั้งแพ็คเกจควรเริ่มต้นเซิร์ฟเวอร์ MongoDB โดยอัตโนมัติ ดังนั้นคุณควรจะสามารถเรียกใช้ไคลเอนต์จากบรรทัดคำสั่ง:

mongo

ซึ่งควรเชื่อมต่อกับฐานข้อมูลทดสอบได้สำเร็จ exitคุณสามารถเลิกได้ด้วยการพิมพ์

หากล้มเหลวโปรดอัปเดตคำถามของคุณพร้อมรายละเอียดเพิ่มเติมรวมถึงผลลัพธ์ของการพยายามเชื่อมต่อและแนบ/var/log/mongodb/mongodb.logไฟล์ของคุณ


maisapride1 @ maisapride1: / $ sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev รายการแพ็กเกจการอ่าน ... เสร็จสิ้นการสร้างแผนผังการพึ่งพาของรัฐกำลังอ่านข้อมูลสถานะ ... แพคเกจสำเร็จรูป mongodb- ไม่ได้ติดตั้งดังนั้น mongodb- ไม่ได้ติดตั้งไคลเอ็นต์ดังนั้นจึงไม่ลบแพ็กเกจ mongodb-dev ไม่ได้ติดตั้งดังนั้นจึงไม่ลบแพ็กเกจ mongodb-server ไม่ได้ติดตั้งดังนั้นจึงไม่ลบการอัปเกรด 0, 0 ติดตั้งใหม่ 0 ลบ 0 และ 406 ไม่ได้อัปเกรด ----- เมื่อพยายามลบเมื่อฉันให้ mongo อีกครั้งแสดง vesion: MongoDB รุ่น shell: 2.0.1
jyothi

นั่นเป็นเรื่องปกติ ดังที่ฉันได้กล่าวไปแล้วคำสั่งเหล่านั้นบางอย่างอาจล้มเหลวขึ้นอยู่กับแพคเกจที่คุณติดตั้ง ข้อผิดพลาดเหล่านั้นแสดงว่าคุณไม่ได้ติดตั้งแพ็คเกจ Ubuntu MongoDB มาตรฐาน
David Edwards

คุณได้รันคำสั่งที่สองเพื่อลบแพ็คเกจ 10gen หรือไม่? หากสิ่งนั้นไม่ลบอะไรออกไปและคุณยังสามารถเรียกใช้ไคลเอ็นต์ mongo ได้คุณต้องทำการติดตั้งด้วยตนเองและคุณจะต้องลบด้วยมือ
David Edwards

ฉันจะรู้วิธีติดตั้งหรืออัปเดต mongo db เป็น 2.0.5 จาก 2.0.1 ได้อย่างไร
jyothi

การติดตั้งแพ็คเกจ 10gen ตามที่อธิบายไว้ในคำตอบของฉันจะให้ 2.0.6 เวอร์ชันก่อนหน้านี้มีให้ดาวน์โหลดและติดตั้งด้วยตนเองจากเว็บไซต์ MongoDB แต่ฉันขอแนะนำอย่างยิ่งให้คุณยึดติดกับแพ็คเกจที่จัดทำ
David Edwards

26

ในการลบ MongoDB ออกจากระบบอย่างสมบูรณ์คุณจะต้องลบแอพพลิเคชั่น MongoDB เองไฟล์การกำหนดค่าและไดเรกทอรีใด ๆ ที่มีข้อมูลและบันทึก ส่วนต่อไปนี้จะแนะนำคุณตลอดขั้นตอนที่จำเป็น

  1. หยุด MongoDB

    หยุดกระบวนการ mongod โดยใช้คำสั่งต่อไปนี้:

    sudo service mongod stop
    
  2. ลบแพ็คเกจ

    ลบแพ็คเกจ MongoDB ใด ๆ ที่คุณติดตั้งไว้ก่อนหน้านี้

    sudo apt-get purge mongodb-org*
    
  3. ลบไดเรกทอรีข้อมูล

    ลบฐานข้อมูล MongoDB และไฟล์บันทึก

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

4

ทำตามขั้นตอน:

  1. ลบไฟล์ล็อค

    sudo rm /var/lib/mongodb/mongod.lock
    
  2. ซ่อม MongoDB

    mongod --repair
    
  3. เริ่มต้น mongodb

    sudo service mongodb start
    
  4. เริ่มคอนโซล mongo

    mongo
    

@stumblebee: โปรดระวังคำแนะนำการแก้ไขเช่นนี้! ชื่อบริการย่อมเป็นmongodbเช่นเดียวกับในรุ่นเดิมและคุณสามารถตรวจสอบว่าผ่านรายการแฟ้มแพคเกจ
David Foerster
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.