ฉันสร้างสำเนาสำรองของฐานข้อมูลทั้งหมดของฉันโดยใช้คำสั่ง mongodump ตอนนี้ฉันต้องการคืนค่าฐานข้อมูลเฉพาะโดยใช้คำสั่ง mongorestore
เป็นไปได้อย่างไรฉันใช้คำสั่งนี้: - ตัวเลือก db แล้ว mongodb ไม่คืนค่าฐานข้อมูลเฉพาะ
ฉันสร้างสำเนาสำรองของฐานข้อมูลทั้งหมดของฉันโดยใช้คำสั่ง mongodump ตอนนี้ฉันต้องการคืนค่าฐานข้อมูลเฉพาะโดยใช้คำสั่ง mongorestore
เป็นไปได้อย่างไรฉันใช้คำสั่งนี้: - ตัวเลือก db แล้ว mongodb ไม่คืนค่าฐานข้อมูลเฉพาะ
คำตอบ:
ในการกู้คืนฐานข้อมูลเดียวคุณต้องระบุพา ธ ไปยังไดเร็กทอรีดัมพ์เป็นส่วนหนึ่งของmongorestore
บรรทัดคำสั่ง
ตัวอย่างเช่น:
# Backup the training database
mongodump --db training
# Restore the training database to a new database called training2
mongorestore --db training2 dump/training
--db
ตัวเลือกสำหรับการmongodump
ระบุแหล่งฐานข้อมูลการถ่ายโอนข้อมูล
--db
ตัวเลือกสำหรับการmongorestore
ระบุฐานข้อมูลเป้าหมายในการคืนค่าลงใน
mongodump
และบรรทัดคำสั่งที่แน่นอนที่คุณใช้? คำสั่งสร้างรูปแบบที่เก็บพิเศษที่แตกต่างจาก--archive
--gzip
ทั้งนี้ขึ้นอยู่กับรุ่นและบรรทัดคำสั่งตัวเลือกใช้มีคำแนะนำที่แตกต่างกันสำหรับการเปลี่ยนชื่อฐานข้อมูลหรือคอลเลกชันที่มีmongodump
mongorestore
ใช้คำสั่งต่อไปนี้เพื่อกู้คืน mongo db:
mongorestore -d dbname dbpath
$ mongorestore --drop -d <database-name> <dir-of-backup-files>
--drop
การวางเป็นสิ่งที่จำเป็นถ้าคุณกำลังแทนที่ db ที่มีอยู่-d <database-name>
ชื่อของฐานข้อมูลที่จะสร้าง / แทนที่<dir-of-backup-files>
ด้วยเหตุผลบางอย่างนี้เป็นสิ่งจำเป็นแม้ว่าจะเป็นไดเรกทอรีปัจจุบันการอ้างอิง: https://coderwall.com/p/3hx06a/restore-a-mongodb-database-mongorestore
หลังจากตรวจสอบให้แน่ใจว่าmongod
และmongo
กำลังทำงานอยู่ให้ไปที่ไดเรกทอรีหลักของการถ่ายโอนข้อมูลในเทอร์มินัลใหม่ mongorestore dump
และใช้คำสั่ง ในกรณีที่dump
เป็นชื่อโฟลเดอร์ที่ถ่ายโอนฐานข้อมูลเป็นปัจจุบัน
mongodump --archive
เพื่อสร้างไฟล์. gz ฉันขอทราบวิธีที่เรากู้คืนจากไฟล์. gz และระบุชื่อฐานข้อมูลใหม่ได้หรือไม่ ขนาดไฟล์. gz ของฉันคือ 2Gb ดังนั้นการแตกไฟล์จึงใช้เวลานานมาก