Резервное копирование и восстановление MongoDB

Содержание
  1. Введение Резервное копирование и восстановление в MongoDB — важная часть для работы с базой данных. Эта утилита важна, потому что ваши ценные данные могут быть удалены, разбиты или повреждены с вашего сервера, вашего локального компьютера случайно или по любой ошибке, какой бы она ни была. В этот жизненно важный момент вы можете обезопасить себя, восстановив свои данные, если у вас есть резервная копия ваших ценных данных. Резервное копирование может быть выполнено в различном формате. Здесь, в этой статье, мы опишем процесс создания резервных копий и восстановления данных с помощью утилит, поставляемых с MongoDB MongoDB Backup Резервное копирование База данных с mongodump Утилита резервного копирования MongoDB может создать резервную копию всего сервера, базы данных или коллекции, или вы можете использовать запрос для резервного копирования части коллекции. Когда mongodump работает только без аргументов, команда подключается к экземпляру MongoDB в локальной системе (например, localhost) через порт 27017 и создает резервную копию базы данных с именем dump/в текущем каталоге. Вот команда для резервного копирования данных с экземпляра mongod или mongos, запущенного на той же машине и на порте по умолчанию 27017. Чтобы сделать резервную копию, вы должны ввести bin в папку mongodb на вашем компьютере. Здесь наш путь — D: mongodb bin, и вам нужно выполнить команду отсюда. D:mongodbbin>mongodump Вот результат D: mongodb bin> mongodump подключен к: 127.0.0.12015-04-24T16: 12: 38.401 + 0530 все dbs2015-04-24T16: 12: 38.402 + 0530 БАЗА ДАННЫХ: myinfo для дампа myinfo2015-04-24T16: 12: 38.403 + 0530 myinfo.system.indexes to dump myinfo system.indexes.bson2015-04-24T16: 12: 38.404 + 0530 1 documents2015-04-24T16: 12: 38.404 + 0530 myinfo.userdetails to dump myinfo userdetails.bson2015-04 -24T16: 12: 38.406 + 0530 1 documents2015-04-24T16: 12: 38.406 + 0530 Метаданные myinfo.userdetails для дампа myinfo userdetails.metadata.json2015-04-24T16: 12: 38.408 + 0530 БАЗА ДАННЫХ: тест для дампа test2015-04-24T16: 12: 38.409 + 0530 test.system.indexes to dump test system.indexes.bson2015-04-24T16: 12: 38.410 + 0530 1 документы2015-04-24T16: 12: 38.410 + 0530 test .userdetails в дамп test userdetails.bson2015-04-24T16: 12: 38.411 + 0530 1 documents2015-04-24T16: 12: 38.412 + 0530 Метаданные для test.userdetails в дамп test userdetails.metadata.json2015-04- 24T16: 12: 38.413 + 0530 ДАННЫЕ BASE: admin для дампа admin Резервное копирование базы данных с mongodump, укажите —host и —port Здесь, в в примере ниже хост — это mypc-PC, а порт — это порт по умолчанию 27017. D: mongodb bin> mongodump --host mypc-PC --port 27017 Вот результат D: mongodb bin> mongodump --host mypc-PC --port 27017connected to: bidhan-PC: 270172015 -04-25T10: 49: 53.994 + 0530 все dbs2015-04-25T10: 49: 53.997 + 0530 БАЗА ДАННЫХ: myinfo в дамп myinfo2015-04-25T10: 49: 53.998 + 0530 myinfo.system.indexes в дамп myinfo system .indexes.bson2015-04-25T10: 49: 53. 999 + 0530 1 documents2015-04-25T10: 49: 54.000 + 0530 myinfo.userdetails to dump myinfo userdetails.bson2015-04-25T10: 49: 54.000 + 0530 1 documents2015-04-25T10: 49: 54.001 + 0530 Метаданные для myinfo.userdetails to dump myinfo userdetails.metadata.json2015-04-25T10: 49: 54.002 + 0530 DATABASE: test to dump test2015-04-25T10: 49: 54.005 + 0530 test.system.indexes to dump test system.indexes.bson2015-04-25T10: 49: 54.006 + 0530 1 documents2015-04-25T10: 49: 54.007 + 0530 test.userdetails to dump test userdetails.bson2015-04-25T10: 49: 54.009 + 0530 1 documents2015 -04-25T10: 49: 54.009 + 0530 Метаданные для test.userdetails в дамп test userdetails.metadata.json2015-04-25T10: 49: 54.011 + 0530 БАЗА ДАННЫХ: admin в дамп admin NB : Команда mongodump перезаписывает выходные файлы, если они уже существуют в папке данных резервного копирования. Поэтому лучше убедиться, что вам больше не нужны файлы в выходной папке или вы сделали копию предыдущей резервной папки, прежде чем запускать команду mongodump несколько раз. Backup База данных с mongodump указывает другой выходной каталог Вы можете сделать резервную копию в определенном каталоге, используя параметр —out или -o. В приведенном ниже примере мы упоминаем каталог в D: это резервные_данные/резервная копия/папка. D: mongodb bin> mongodump --out/backup_data/backup/ Вот результат D: mongodb bin> mongodump --out/backup_data/backup/connected to: 127.0.0.12015-04- 25T11: 01: 51.677 + 0530 все dbs2015-04-25T11: 01: 51.679 + 0530 БАЗА ДАННЫХ: myinfo в/backup_data/backup/myinfo2015-04-25T11:01:51.694+0530 myinfo.system.indexes в/backup_data/backup/ myinfo system.indexes.bson2015-04-25T11: 01: 51.695 + 0530 1 documents2015-04-25T11: 01: 51.696 + 0530 myinfo.userданные в/backup_data/backup/myinfouserdetails.bson2015-04-25T11:01: 51.696 + 0530 1 documents2015-04-25T11: 01: 51.696 + 0530 Метаданные для myinfo.userданные в/backup_data/backup/myinfouserdetails.metadata.json2015-04-25T11:01:51.853+0530 БАЗА ДАННЫХ: тестировать в/backup_data/ backup/test2015-04-25T11: 01: 51.854 + 0530 test.system.indexes в/backup_data/backup/testsystem.indexes.bson2015-04-25T11:01:51.855+0530 1 documents2015-04-25T 11: 01: 51.856 + 0530 test.userdetails to/backup_data/backup/testuserdetails.bson2015-04-25T11:01:51.857+0530 1 documents2015-04-25T11: 01: 51.858 + 0530 Метаданные для test.userdetails to/ backup_data/backup/test userdetails.metadata.json2015-04-25T11: 01: 51.860 + 0530 БАЗА ДАННЫХ: admin в/backup_data/backup/admin NB : Команда mongodump перезаписывает выходные файлы, если они уже существуют в папке данных резервного копирования. Итак, лучше убедиться, что вам больше не нужны файлы в выходной папке или вы сделали копию предыдущей резервной папки, прежде чем запускать команду mongodump несколько раз. Резервное копирование определенной коллекции и конкретной базы данных с помощью mongodump Если вы хотите создать резервную копию определенной базы данных и конкретной коллекции с помощью команды mongodump, вы можете указать —db и —collection как опции для mongodump. Здесь, в примере ниже, наша база данных — это myinfo, а коллекция — это userdetails. D: mongodb bin> mongodump --collection userdetails --db myinfo Вышеупомянутая операция создаст дамп коллекции с именем userdetails из базы данных myinfo в подкаталоге dump/текущего рабочего каталога. Вот результат D: mongodb bin> mongodump --collection userdetails --db myinfoconnected to: 127.0.0.12015-04-25T11: 17: 46.770 + 0530 DATABASE : myinfo to dump myinfo2015-04-25T11: 17: 46.771 + 0530 myinfo.userdetails to dump myinfo userdetails.bson2015-04-25T11: 17: 46.772 + 0530 1 documents2015-04-25T11: 17: 46.772 + 0530 Метаданные для myinfo.userdetails в дамп myinfo userdetails.metadata.json NB : Команда mongodump перезаписывает выходные файлы, если они уже существуют в папке данных резервного копирования. Поэтому лучше убедиться, что вам больше не нужны файлы в выходной папке или вы сделали копию предыдущей резервной папки, прежде чем запускать команду mongodump несколько раз. Create Резервное копирование из нелокальных экземпляров mongod В этом типе резервного копирования параметры —host и —port для mongodump позволяют пользователю подключаться к удаленному хосту и выполнять резервное копирование с него. Вот такая команда: mongodump --host [имя хоста] --port 3017 --username [user] --password [pass] --out [резервная папка путь к локальной машине] например, путь к папке вида:/backup_data/backup/ Резервное копирование базы данных и коллекции MongoDB с использованием экспорта в формате CSV Данные MongoDB можно экспортировать с помощью команды mongoexport. Команда mongoexport подключается к экземпляру mongod, который работает на порту localhost с номером 27017. В приведенном ниже примере экспортирует данные из коллекции userdetails, которая находится в базе данных myinfo, в формате CSV в файл D : backup_data backup userdetails.csv. При экспорте в формате CSV необходимо указать поля в экспортируемых документах, а в приведенном ниже примере конкретными полями являются user_id, образование и интересы. D: mongodb bin> mongoexport --db myinfo --collection userdetails --csv --fields идентификатор_пользователя, образование, интересы --out/opt/backups/userdetails.csv pre> Вот результат D: mongodb bin> mongoexport --db myinfo --collection userdetails --csv --fields user_id, education, Interest --out /opt/backups/userdetails.csv подключен к: 127.0.0.1exported 1 record Вы можете открыть этот файл в Excel. Вот файл, отображаемый в указанном каталоге, и данные, экспортированные в формате .csv. Экспорт в формате CSV с использованием файла, содержащего список полей Вы также можете указать поля в файле, содержащем список полей, разделенных строками, для экспорта и использовать этот .txt файл вместе с параметром --fieldFile в команде mongoexport. Вот файл myfields.txt, как показано ниже. Откройте редактор Блокнота и напишите следующий текст, только одно поле в одной строке, затем сохраните файл с любым именем в папке mondodb bin и используйте это имя в команде. Здесь имя нашего файла myfields.txt, и мы использовали это имя. user_ideducationinterest Вот команда D: mongodb bin> mongoexport --db myinfo --collection userdetails --csv --fieldFile myfields.txt --out/backup_data/backup/userdetails.csv Вот результат D: mongodb bin> mongoexport --db myinfo --collection userdetails --csv --fieldFile myfields.txt --out/backup_data/backup/userdetails.csvconnected to: 127.0.0.1exported 1 записей Экспорт в формате JSON В приведенном ниже примере экспортируются сведения о пользователях коллекции из экземпляра MongoDB, работающего на локальном порту с номером 27017, с явным включением журналирования. Эта команда записывает экспортированные данные в файл newuserdetails.json в формате JSON. Вот команда D: mongodb bin> mongoexport --db myinfo --collection userdetails --out/backup_data/backup/newuserdetails.json --journal Вот результат D : mongodb bin> mongoexport --db myinfo --collection userdetails --out/backup_data/backup/newuserdetails.json --journalconnected to: 127.0.0.1exported 1 records Export from Remote Host Запуск с аутентификацией В приведенном ниже примере экспортируется коллекция userdetails из базы данных myinfo, которая требует аутентификации. Предположим, что эти данные находятся в экземпляре MongoDB, расположенном на хосте [your_domain.example.com], работающем на порте 37017, для которого требуется имя пользователя [имя пользователя] и пароль [ваш пароль]. Имя нашей коллекции - userdetails, db - myinfo, а расположение и имя файла резервной копии - D: backup_data backup newuserdetails.json mongoexport --host [your_domain .example.com] --port 37017 --username [имя пользователя] --password [ваш пароль] --collection userdetails --db myinfo --out/backup_data/backup/newuserdetails.json pre> Экспорт результатов запроса С параметром --query можно экспортировать только результаты запроса, а с помощью параметра "--db" можно ограничить результаты одной базой данных. "option. Здесь, в примере ниже, эта команда возвращает все документы из коллекции userdetails в базе данных myinfo, которые содержат поле с именем Interest и значением MUSIC. Вот команда D: mongodb bin> mongoexport --db myinfo --collection userdetails --query "{'Interest ':' MUSIC '} "; Вот результат D: mongodb bin> mongoexport --db myinfo --collection userdetails --query "{'Interest': 'MUSIC'}"; подключено к: 127.0.0.1 {"_id": {"$ oid": "553a1e0f195e5fc01733c693"}, "user_id": "user1", "password": " 1a2b3c "," date_of_join ":" 16.10.2010 "," образование ":" MCA "," профессия ":" КОНСУЛЬТАНТ "," интерес ":" МУЗЫКА "," имя_сообщества ": [" СОВРЕМЕННАЯ МУЗЫКА "," КЛАССИЧЕСКАЯ МУЗЫКА »,« ЗАПАДНАЯ МУЗЫКА »],« community_moder_id »: [« Мистер Алекс »,« Мистер Данг »,« Мистер Харис »],« community_members »: [700, 200, 1500],« friends_id »: [ "kumar", "harry", "anand"], "ban_friends_id": ["Amir", "Raja", "mont"]} экспортировано 1 записей MongoDB Restore Восстановление из дампа с помощью mongorestore Утилита восстановления с помощью команды mongorestore восстанавливает двоичную резервную копию, созданную mongodump. Mongorestore может восстановить либо всю резервную копию базы данных, либо ее часть. Следующая команда импортирует резервную копию базы данных из папки дампа в экземпляр mongod, работающий на интерфейсе localhost. Вот команда. Здесь мы не указали имя папки, поэтому по умолчанию будет импортирована резервная копия базы данных в папке дампа. D:mongodbbin>mongorestore Вот результат D: mongodb bin> mongorestoreconnected к: 127.0.0.12015-04-27T11: 00: 02.302 + 0530 dump myinfo userdetails.bson2015-04-27T11: 00: 02.302 + 0530 переход в пространство имен [myinfo.userdetails] Восстановление в myinfo. userdetails без сбрасывания. Восстановленные данные будут вставлены без возникновения ошибок; проверьте найденные объекты log1 на сервере 2015-04-27T11: 00: 02.314 + 0530 Создание индекса: {key: {_id: 1}, name: "_id_", ns: "myinfo.userdetails"} 2015-04-27T11: 00: 02.366 + 0530 дамп test userdetails.bson2015-04-27T11: 00: 02.366 + 0530 переход в пространство имен [test.userdetails] Восстановление в test.userdetails без отбрасывания. Восстановленные данные будут вставлены без возникновения ошибок; проверьте найденные объекты log1 на сервере 2015-04-27T11: 00: 02.381 + 0530 Создание индекса: {key: {_id: 1}, name: "_id_", ns: "test.userdetails"} Следующая команда импортирует резервную копию базы данных из папки myinfo в папке дампа в экземпляр mongod, работающий на интерфейсе localhost. Вот команда. Здесь мы упоминаем имя папки, поэтому будет импортирована резервная копия базы данных из упомянутой папки.. D: mongodb bin> mongorestore dump/myinfo Вот результат D: mongodb bin> mongorestore dump/myinfoconnected to: 127.0.0.12015-04-27T11: 00: 54.570 + 0530 dump/myinfo userdetails.bson2015-04-27T11: 00: 54.572 + 0530 переход в пространство имен [myinfo. userdetails] Восстановление в myinfo.userdetails без сброса. Восстановленные данные будут вставлены без возникновения ошибок; проверьте найденные объекты log1 на сервере 2015-04-27T11: 00: 54.581 + 0530 Создание индекса: {key: {_id: 1}, name: "_id_", ns: "myinfo.userdetails"} Восстановление резервных копий в нелокальные экземпляры mongod Команда mongorestore по умолчанию подключается к экземпляру MongoDB, работающему на интерфейсе localhost с портом по умолчанию (27017). Мы также можем восстановить резервную копию на другой хост или порт, используя параметры --host и --port. Вот команда. mongorestore --host [имя хоста] --port 3017 --username [пользователь] --password [пароль] [путь к резервной папке локальной машины] например, путь к папке, например:/backup_data/backup/ Импорт коллекции с использованием mongoimport Команда mongoimport восстанавливает база данных из резервной копии, созданной с помощью mongoexport. Здесь, в примере, предположим, что имя нашего файла резервной копии - newuserdetails.JSON, имя базы данных - myinfo, а имя коллекции - userdetails. В следующем примере mongoimport импортирует данные в данных JSON из файла newuserdetails.json в коллекцию userdetails в базе данных myinfo. D: mongodb bin> mongoimport --db myinfo --collection userdetails --file newuserdetails.json Вот результат D: mongodb bin> mongoimport - db myinfo --collection userdetails --file newuserdetails.jsonconnected to: 127.0.0.12015-04-27T11: 53: 12.880 + 0530 insertDocument :: вызвано :: 11000 E11000 ошибка дублирования ключа индекс: myinfo.userdetails. $ _ id_ dup key: {: ObjectId ('553a1e0f195e5fc01733c693')} 2015-04-27T11: 53: 12.883 + 0530 insertDocument :: вызвано :: 11000 E11000 ошибка дублирования ключа индекс: myinfo.userdetails. $ _ Id_ dup key: {: ObjectId ('553b811e4cf )} 2015-04-27T11: 53: 12.884 + 0530 импортировано 2 объекта Импортировать JSON на удаленный хост, работающий с аутентификацией Команду mongoimport также можно использовать для импорта данных на удаленную базу данных MongoDB. D atabase с включенной аутентификацией. В приведенном ниже примере mongoimport импортирует данные из файла backup_data backup newuserdetails.json в коллекцию userdetails в базе данных myinfo в удаленной базе данных MongoDB Вот команда. mongoimport --host [имя хоста] --port 37017 --username [пользователь] --password [пароль] --collection userdetails --db myinfo --file резервные_данные резервное копирование newuserdetails. json Импорт CSV mongoimport может импортировать данные в формате csv в коллекцию. Параметр --headerline используется для указания mongoimport определять имена полей, используя первую строку в файле CSV. Здесь, в примере, предположим, что имя нашего файла резервной копии - это userdetails.csv, расположенный в папке backup_data backup имя базы данных - myinfo, а имя коллекции - userdetails. D: mongodb bin> mongoimport --db myinfo --collection userdetails --type csv --headerline --file/backup_data/backup/userdetails.csv Вот результат D: mongodb bin> mongoimport --db myinfo --collection userdetails --type csv --headerline --file /backup_data/backup/userdetails.csvconnected to: 127.0.0.12015-04-27T12: 49: 55.984 + 0530 импортировано 1 объектов Здесь в примере ниже не указано имя коллекции и есть опция - -ignoreBlanks, который будет игнорировать пустые столбцы. D: mongodb bin> mongoimport --db myinfo --type csv --headerline --ignoreBlanks --file/backup_data/backup/userdetails.csv Вот результат D: mongodb bin> mongoimport --db myinfo --type csv --headerline --ignoreBlanks --file/backup_data /backup/userdetails.csvconnected to: 127.0.0.1 коллекция не указана! с использованием имени файла 'userdetails' в качестве коллекции. 2015-04-27T12: 52: 21.794 + 0530 импортировано 1 объект
  2. MongoDB Backup
  3. Backup База данных с mongodump указывает другой выходной каталог
  4. Резервное копирование определенной коллекции и конкретной базы данных с помощью mongodump
  5. Create Резервное копирование из нелокальных экземпляров mongod
  6. Резервное копирование базы данных и коллекции MongoDB с использованием экспорта в формате CSV
  7. Экспорт в формате CSV с использованием файла, содержащего список полей
  8. Экспорт в формате JSON
  9. Export from Remote Host Запуск с аутентификацией
  10. Экспорт результатов запроса
  11. MongoDB Restore

Введение

Резервное копирование и восстановление в MongoDB — важная часть для работы с базой данных. Эта утилита важна, потому что ваши ценные данные могут быть удалены, разбиты или повреждены с вашего сервера, вашего локального компьютера случайно или по любой ошибке, какой бы она ни была. В этот жизненно важный момент вы можете обезопасить себя, восстановив свои данные, если у вас есть резервная копия ваших ценных данных. Резервное копирование может быть выполнено в различном формате. Здесь, в этой статье, мы опишем процесс создания резервных копий и восстановления данных с помощью утилит, поставляемых с MongoDB

MongoDB Backup

Резервное копирование База данных с mongodump

Утилита резервного копирования MongoDB может создать резервную копию всего сервера, базы данных или коллекции, или вы можете использовать запрос для резервного копирования части коллекции.

Когда mongodump работает только без аргументов, команда подключается к экземпляру MongoDB в локальной системе (например, localhost) через порт 27017 и создает резервную копию базы данных с именем dump/в текущем каталоге.

Вот команда для резервного копирования данных с экземпляра mongod или mongos, запущенного на той же машине и на порте по умолчанию 27017.

Чтобы сделать резервную копию, вы должны ввести bin в папку mongodb на вашем компьютере. Здесь наш путь — D: mongodb bin, и вам нужно выполнить команду отсюда.

D:mongodbbin>mongodump 

Вот результат

 D:   mongodb  bin> mongodump подключен к: 127.0.0.12015-04-24T16: 12: 38.401 + 0530 все dbs2015-04-24T16: 12: 38.402 + 0530 БАЗА ДАННЫХ: myinfo для дампа  myinfo2015-04-24T16: 12: 38.403 + 0530  myinfo.system.indexes to dump  myinfo  system.indexes.bson2015-04-24T16: 12: 38.404 + 0530 1 documents2015-04-24T16: 12: 38.404 + 0530 myinfo.userdetails to dump  myinfo  userdetails.bson2015-04  -24T16: 12: 38.406 + 0530 1 documents2015-04-24T16: 12: 38.406 + 0530 Метаданные myinfo.userdetails для дампа  myinfo  userdetails.metadata.json2015-04-24T16: 12: 38.408 + 0530 БАЗА ДАННЫХ: тест для дампа   test2015-04-24T16: 12: 38.409 + 0530 test.system.indexes to dump  test  system.indexes.bson2015-04-24T16: 12: 38.410 + 0530 1 документы2015-04-24T16: 12: 38.410 + 0530 test  .userdetails в дамп  test  userdetails.bson2015-04-24T16: 12: 38.411 + 0530 1 documents2015-04-24T16: 12: 38.412 + 0530 Метаданные для test.userdetails в дамп  test  userdetails.metadata.json2015-04-  24T16: 12: 38.413 + 0530 ДАННЫЕ  BASE: admin для дампа  admin 

Резервное копирование базы данных с mongodump, укажите —host и —port

Здесь, в в примере ниже хост — это mypc-PC, а порт — это порт по умолчанию 27017.

  D:  mongodb  bin> mongodump --host mypc-PC --port 27017  

Вот результат

 D:  mongodb  bin> mongodump --host mypc-PC --port 27017connected to: bidhan-PC: 270172015  -04-25T10: 49: 53.994 + 0530 все dbs2015-04-25T10: 49: 53.997 + 0530 БАЗА ДАННЫХ: myinfo в дамп  myinfo2015-04-25T10: 49: 53.998 + 0530 myinfo.system.indexes в дамп  myinfo  system  .indexes.bson2015-04-25T10: 49: 53. 999 + 0530 1 documents2015-04-25T10: 49: 54.000 + 0530 myinfo.userdetails to dump  myinfo  userdetails.bson2015-04-25T10: 49: 54.000 + 0530 1 documents2015-04-25T10: 49: 54.001 + 0530 Метаданные для  myinfo.userdetails to dump  myinfo  userdetails.metadata.json2015-04-25T10: 49: 54.002 + 0530 DATABASE: test to dump  test2015-04-25T10: 49: 54.005 + 0530 test.system.indexes to dump  test   system.indexes.bson2015-04-25T10: 49: 54.006 + 0530 1 documents2015-04-25T10: 49: 54.007 + 0530 test.userdetails to dump  test  userdetails.bson2015-04-25T10: 49: 54.009 + 0530 1 documents2015  -04-25T10: 49: 54.009 + 0530 Метаданные для test.userdetails в дамп  test  userdetails.metadata.json2015-04-25T10: 49: 54.011 + 0530 БАЗА ДАННЫХ: admin в дамп  admin 

NB : Команда mongodump перезаписывает выходные файлы, если они уже существуют в папке данных резервного копирования. Поэтому лучше убедиться, что вам больше не нужны файлы в выходной папке или вы сделали копию предыдущей резервной папки, прежде чем запускать команду mongodump несколько раз.

Backup База данных с mongodump указывает другой выходной каталог

Вы можете сделать резервную копию в определенном каталоге, используя параметр —out или -o. В приведенном ниже примере мы упоминаем каталог в D: это резервные_данные/резервная копия/папка.

  D:  mongodb  bin> mongodump --out/backup_data/backup/ 

Вот результат

 D:  mongodb  bin> mongodump --out/backup_data/backup/connected to: 127.0.0.12015-04-  25T11: 01: 51.677 + 0530 все dbs2015-04-25T11: 01: 51.679 + 0530 БАЗА ДАННЫХ: myinfo в/backup_data/backup/myinfo2015-04-25T11:01:51.694+0530 myinfo.system.indexes в/backup_data/backup/ myinfo  system.indexes.bson2015-04-25T11: 01: 51.695 + 0530 1 documents2015-04-25T11: 01: 51.696 + 0530 myinfo.userданные в/backup_data/backup/myinfouserdetails.bson2015-04-25T11:01:  51.696 + 0530 1 documents2015-04-25T11: 01: 51.696 + 0530 Метаданные для myinfo.userданные в/backup_data/backup/myinfouserdetails.metadata.json2015-04-25T11:01:51.853+0530 БАЗА ДАННЫХ: тестировать в/backup_data/ backup/test2015-04-25T11: 01: 51.854 + 0530 test.system.indexes в/backup_data/backup/testsystem.indexes.bson2015-04-25T11:01:51.855+0530 1 documents2015-04-25T  11: 01: 51.856 + 0530 test.userdetails to/backup_data/backup/testuserdetails.bson2015-04-25T11:01:51.857+0530 1 documents2015-04-25T11: 01: 51.858 + 0530 Метаданные для test.userdetails to/ backup_data/backup/test  userdetails.metadata.json2015-04-25T11: 01: 51.860 + 0530 БАЗА ДАННЫХ: admin в/backup_data/backup/admin 

NB : Команда mongodump перезаписывает выходные файлы, если они уже существуют в папке данных резервного копирования. Итак, лучше убедиться, что вам больше не нужны файлы в выходной папке или вы сделали копию предыдущей резервной папки, прежде чем запускать команду mongodump несколько раз.

Резервное копирование определенной коллекции и конкретной базы данных с помощью mongodump

Если вы хотите создать резервную копию определенной базы данных и конкретной коллекции с помощью команды mongodump, вы можете указать —db и —collection как опции для mongodump.

Здесь, в примере ниже, наша база данных — это myinfo, а коллекция — это userdetails.

  D:  mongodb  bin> mongodump --collection userdetails --db myinfo  

Вышеупомянутая операция создаст дамп коллекции с именем userdetails из базы данных myinfo в подкаталоге dump/текущего рабочего каталога. Вот результат

  D:  mongodb  bin> mongodump --collection userdetails --db myinfoconnected to: 127.0.0.12015-04-25T11: 17: 46.770 + 0530 DATABASE  : myinfo to dump  myinfo2015-04-25T11: 17: 46.771 + 0530 myinfo.userdetails to dump  myinfo  userdetails.bson2015-04-25T11: 17: 46.772 + 0530 1 documents2015-04-25T11: 17: 46.772 + 0530 Метаданные  для myinfo.userdetails в дамп  myinfo  userdetails.metadata.json  

NB : Команда mongodump перезаписывает выходные файлы, если они уже существуют в папке данных резервного копирования. Поэтому лучше убедиться, что вам больше не нужны файлы в выходной папке или вы сделали копию предыдущей резервной папки, прежде чем запускать команду mongodump несколько раз.

Create Резервное копирование из нелокальных экземпляров mongod

В этом типе резервного копирования параметры —host и —port для mongodump позволяют пользователю подключаться к удаленному хосту и выполнять резервное копирование с него. Вот такая команда:

  mongodump --host [имя хоста] --port 3017 --username [user] --password [pass] --out [резервная папка  путь к локальной машине] например, путь к папке вида:/backup_data/backup/ 

Резервное копирование базы данных и коллекции MongoDB с использованием экспорта в формате CSV

Данные MongoDB можно экспортировать с помощью команды mongoexport. Команда mongoexport подключается к экземпляру mongod, который работает на порту localhost с номером 27017.

В приведенном ниже примере экспортирует данные из коллекции userdetails, которая находится в базе данных myinfo, в формате CSV в файл D : backup_data backup userdetails.csv.

При экспорте в формате CSV необходимо указать поля в экспортируемых документах, а в приведенном ниже примере конкретными полями являются user_id, образование и интересы.

  D:  mongodb  bin> mongoexport --db myinfo --collection userdetails --csv --fields идентификатор_пользователя, образование, интересы --out/opt/backups/userdetails.csv pre> 

Вот результат

 D:  mongodb  bin> mongoexport --db myinfo --collection userdetails --csv --fields user_id, education, Interest --out /opt/backups/userdetails.csv подключен к: 127.0.0.1exported 1 record 

Вы можете открыть этот файл в Excel. Вот файл, отображаемый в указанном каталоге, и данные, экспортированные в формате .csv.

Экспорт в формате CSV с использованием файла, содержащего список полей

Вы также можете указать поля в файле, содержащем список полей, разделенных строками, для экспорта и использовать этот .txt файл вместе с параметром --fieldFile в команде mongoexport.

Вот файл myfields.txt, как показано ниже. Откройте редактор Блокнота и напишите следующий текст, только одно поле в одной строке, затем сохраните файл с любым именем в папке mondodb bin и используйте это имя в команде. Здесь имя нашего файла myfields.txt, и мы использовали это имя.

  user_ideducationinterest  

Вот команда

  D:  mongodb  bin> mongoexport --db myinfo --collection  userdetails --csv --fieldFile myfields.txt --out/backup_data/backup/userdetails.csv  

Вот результат

 D:   mongodb  bin> mongoexport --db myinfo --collection userdetails --csv --fieldFile myfields.txt --out/backup_data/backup/userdetails.csvconnected to: 127.0.0.1exported 1  записей 

Экспорт в формате JSON

В приведенном ниже примере экспортируются сведения о пользователях коллекции из экземпляра MongoDB, работающего на локальном порту с номером 27017, с явным включением журналирования. Эта команда записывает экспортированные данные в файл newuserdetails.json в формате JSON.

Вот команда

  D:  mongodb  bin>  mongoexport --db myinfo --collection userdetails --out/backup_data/backup/newuserdetails.json --journal  

Вот результат

 D  :  mongodb  bin> mongoexport --db myinfo --collection userdetails --out/backup_data/backup/newuserdetails.json --journalconnected to: 127.0.0.1exported 1 records 

Export from Remote Host Запуск с аутентификацией

В приведенном ниже примере экспортируется коллекция userdetails из базы данных myinfo, которая требует аутентификации. Предположим, что эти данные находятся в экземпляре MongoDB, расположенном на хосте [your_domain.example.com], работающем на порте 37017, для которого требуется имя пользователя [имя пользователя] и пароль [ваш пароль].

Имя нашей коллекции - userdetails, db - myinfo, а расположение и имя файла резервной копии - D: backup_data backup newuserdetails.json

  mongoexport --host [your_domain  .example.com] --port 37017 --username [имя пользователя] --password [ваш пароль] --collection userdetails --db myinfo --out/backup_data/backup/newuserdetails.json pre> 

Экспорт результатов запроса

С параметром --query можно экспортировать только результаты запроса, а с помощью параметра "--db" можно ограничить результаты одной базой данных. "option.

Здесь, в примере ниже, эта команда возвращает все документы из коллекции userdetails в базе данных myinfo, которые содержат поле с именем Interest и значением MUSIC.

Вот команда

  D:  mongodb  bin> mongoexport --db myinfo --collection userdetails --query "{'Interest  ':' MUSIC '} ";  

Вот результат

 D:  mongodb  bin> mongoexport --db myinfo --collection userdetails  --query "{'Interest': 'MUSIC'}"; подключено к: 127.0.0.1 {"_id": {"$ oid": "553a1e0f195e5fc01733c693"}, "user_id": "user1", "password": "  1a2b3c "," date_of_join ":" 16.10.2010 "," образование ":" MCA "," профессия ":" КОНСУЛЬТАНТ "," интерес ":" МУЗЫКА "," имя_сообщества ": [" СОВРЕМЕННАЯ МУЗЫКА ","  КЛАССИЧЕСКАЯ МУЗЫКА »,« ЗАПАДНАЯ МУЗЫКА »],« community_moder_id »: [« Мистер Алекс »,« Мистер Данг »,« Мистер Харис »],« community_members »: [700, 200, 1500],« friends_id »: [  "kumar", "harry", "anand"], "ban_friends_id": ["Amir", "Raja", "mont"]} экспортировано 1 записей 

MongoDB Restore

Восстановление из дампа с помощью mongorestore

Утилита восстановления с помощью команды mongorestore восстанавливает двоичную резервную копию, созданную mongodump. Mongorestore может восстановить либо всю резервную копию базы данных, либо ее часть.

Следующая команда импортирует резервную копию базы данных из папки дампа в экземпляр mongod, работающий на интерфейсе localhost. Вот команда. Здесь мы не указали имя папки, поэтому по умолчанию будет импортирована резервная копия базы данных в папке дампа.

D:mongodbbin>mongorestore 

Вот результат

 D:   mongodb  bin> mongorestoreconnected к: 127.0.0.12015-04-27T11: 00: 02.302 + 0530 dump  myinfo  userdetails.bson2015-04-27T11: 00: 02.302 + 0530 переход в пространство имен [myinfo.userdetails] Восстановление в myinfo.  userdetails без сбрасывания.  Восстановленные данные будут вставлены без возникновения ошибок;  проверьте найденные объекты log1 на сервере 2015-04-27T11: 00: 02.314 + 0530 Создание индекса: {key: {_id: 1}, name: "_id_", ns: "myinfo.userdetails"} 2015-04-27T11: 00:  02.366 + 0530 дамп  test  userdetails.bson2015-04-27T11: 00: 02.366 + 0530 переход в пространство имен [test.userdetails] Восстановление в test.userdetails без отбрасывания.  Восстановленные данные будут вставлены без возникновения ошибок;  проверьте найденные объекты log1 на сервере 2015-04-27T11: 00: 02.381 + 0530 Создание индекса: {key: {_id: 1}, name: "_id_", ns: "test.userdetails"} 

Следующая команда импортирует резервную копию базы данных из папки myinfo в папке дампа в экземпляр mongod, работающий на интерфейсе localhost. Вот команда. Здесь мы упоминаем имя папки, поэтому будет импортирована резервная копия базы данных из упомянутой папки..

  D:  mongodb  bin> mongorestore dump/myinfo  

Вот результат

 D:  mongodb  bin> mongorestore dump/myinfoconnected to: 127.0.0.12015-04-27T11: 00: 54.570 + 0530 dump/myinfo  userdetails.bson2015-04-27T11: 00: 54.572 + 0530 переход в пространство имен [myinfo.  userdetails] Восстановление в myinfo.userdetails без сброса.  Восстановленные данные будут вставлены без возникновения ошибок;  проверьте найденные объекты log1 на сервере 2015-04-27T11: 00: 54.581 + 0530 Создание индекса: {key: {_id: 1}, name: "_id_", ns: "myinfo.userdetails"} 

Восстановление резервных копий в нелокальные экземпляры mongod

Команда mongorestore по умолчанию подключается к экземпляру MongoDB, работающему на интерфейсе localhost с портом по умолчанию (27017). Мы также можем восстановить резервную копию на другой хост или порт, используя параметры --host и --port.

Вот команда.

  mongorestore --host [имя хоста] --port 3017 --username [пользователь] --password [пароль] [путь к резервной папке локальной машины] например,  путь к папке, например:/backup_data/backup/ 

Импорт коллекции с использованием mongoimport

Команда mongoimport восстанавливает база данных из резервной копии, созданной с помощью mongoexport.

Здесь, в примере, предположим, что имя нашего файла резервной копии - newuserdetails.JSON, имя базы данных - myinfo, а имя коллекции - userdetails. В следующем примере mongoimport импортирует данные в данных JSON из файла newuserdetails.json в коллекцию userdetails в базе данных myinfo.

  D:  mongodb  bin> mongoimport  --db myinfo --collection userdetails --file newuserdetails.json  

Вот результат

 D:  mongodb  bin> mongoimport -  db myinfo --collection userdetails --file newuserdetails.jsonconnected to: 127.0.0.12015-04-27T11: 53: 12.880 + 0530 insertDocument :: вызвано :: 11000 E11000 ошибка дублирования ключа индекс: myinfo.userdetails. $ _ id_ dup key:  {: ObjectId ('553a1e0f195e5fc01733c693')} 2015-04-27T11: 53: 12.883 + 0530 insertDocument :: вызвано :: 11000 E11000 ошибка дублирования ключа индекс: myinfo.userdetails. $ _ Id_ dup key: {: ObjectId ('553b811e4cf  )} 2015-04-27T11: 53: 12.884 + 0530 импортировано 2 объекта 

Импортировать JSON на удаленный хост, работающий с аутентификацией

Команду mongoimport также можно использовать для импорта данных на удаленную базу данных MongoDB. D atabase с включенной аутентификацией. В приведенном ниже примере mongoimport импортирует данные из файла backup_data backup newuserdetails.json в коллекцию userdetails в базе данных myinfo в удаленной базе данных MongoDB

Вот команда.

  mongoimport --host [имя хоста] --port 37017 --username [пользователь] --password [пароль] --collection userdetails --db myinfo --file   резервные_данные  резервное копирование  newuserdetails. json  

Импорт CSV

mongoimport может импортировать данные в формате csv в коллекцию. Параметр --headerline используется для указания mongoimport определять имена полей, используя первую строку в файле CSV.

Здесь, в примере, предположим, что имя нашего файла резервной копии - это userdetails.csv, расположенный в папке backup_data backup имя базы данных - myinfo, а имя коллекции - userdetails.

  D:  mongodb  bin> mongoimport --db myinfo --collection userdetails --type csv --headerline --file/backup_data/backup/userdetails.csv 

Вот результат

 D:  mongodb  bin> mongoimport --db myinfo --collection userdetails --type csv --headerline --file /backup_data/backup/userdetails.csvconnected to: 127.0.0.12015-04-27T12: 49: 55.984 + 0530 импортировано 1 объектов 

Здесь в примере ниже не указано имя коллекции и есть опция - -ignoreBlanks, который будет игнорировать пустые столбцы.

  D:  mongodb  bin> mongoimport --db myinfo --type csv --headerline --ignoreBlanks --file/backup_data/backup/userdetails.csv 

Вот результат

 D:  mongodb  bin> mongoimport --db myinfo --type csv --headerline --ignoreBlanks --file/backup_data /backup/userdetails.csvconnected to: 127.0.0.1 коллекция не указана! с использованием имени файла 'userdetails' в качестве коллекции. 2015-04-27T12: 52: 21.794 + 0530 импортировано 1 объект 

Оцените статью
nanomode.ru
Добавить комментарий