Поиск…
замечания
Если вы не против использования утилиты Ruby, Genghis является классикой: http://genghisapp.com/
Но для масштабируемого использования продукции, займитесь MongoHQ.
http://www.mongohq.com/
Кроме того, Mongo Monitoring Service, от 10Gen, создатели Монго:
https://mms.mongodb.com/
MongoClient написан в Meteor, совершенно бесплатно, с открытым исходным кодом и кросс-платформой.
RoboMongo Родной кросс-платформенный инструмент управления MongoDB
Анализ наследуемой базы данных
Существует две замечательные утилиты для анализа баз данных с использованием «черного ящика». Прежде всего, это multi.js, который даст вам обзор на высоком уровне. Вторая - schema.js, которая позволит вам копаться в коллекциях для более подробной информации о отдельных полях. При наследовании базы данных Mongo производства эти две утилиты могут помочь вам понять, что происходит и как структурируются коллекции и документы.
mongo test --eval "var collection = 'users'" variety.js
mongo --shell schema.js
Подключиться к базе данных на * .meteorapp.com
Флаг -url может оказаться сложным для использования. Для аутентификации есть 60-секундное окно, а затем имя пользователя / пароль случайно сбрасывается. Поэтому убедитесь, что robomongo открыт и готов настроить новое соединение при запуске команды.
# get the MONGO_URL string for your app
meteor mongo --url $METEOR_APP_URL
Загрузите базу данных из * .meteor.com
То же, что и раньше, но вам нужно скопировать информацию в команду mongodump. Вам необходимо быстро выполнить следующие команды, и для этого требуется координация рук / глаз. Имейте в виду! Это смехотворно хаки! Но весело! Подумайте об этом как о видеоигре! : D
# get the MONGO_URL string for your app
meteor mongo --url $METEOR_APP_URL
# then quickly copy all the info into the following command
mongodump -u username -p password --port 27017 --db meteor_app_url_com --host production-db-b1.meteor.io
Экспортировать данные из местного экземпляра разработки Meteor?
Эта команда создаст каталог / dump и сохранит каждую коллекцию в отдельном файле blob BSON. Это лучший способ резервного копирования или передачи баз данных между системами.
mongodump --db meteor
Восстановить данные из Dumpfile
Аналогом команды meteordump
является meteorrestore
. Вы можете сделать частичный импорт, выбрав конкретную коллекцию для импорта. Особенно полезно после запуска команды drop.
# make sure your app is running
meteor
# then import your data
mongorestore --port 3001 --db meteor /path/to/dump
# a partial import after running > db.comments.drop()
mongorestore --port 3001 --db meteor /path/to/dump -c comments.bson
Экспорт коллекции в JSON
Запустите метеорит, откройте другое окно терминала и выполните следующую команду.
mongoexport --db meteor --collection foo --port 3001 --out foo.json
Импортируйте файл JSON в Meteor
Импорт в экземпляр Meteor по умолчанию довольно прост. Обратите внимание, что вы можете добавить параметр -jsonArray, если ваш json-файл экспортируется как массив из другой системы.
mongoimport --db meteor --port 3001 --collection foo --file foo.json
Копирование данных между промежуточными и локальными базами данных
Mongo поддерживает копирование базы данных в базу данных, что полезно, если у вас есть большие базы данных в промежуточной базе данных, которые вы хотите скопировать в локальный экземпляр разработки.
// run mongod so we can create a staging database // note that this is a separate instance from the meteor mongo and minimongo instances mongod // import the json data into a staging database // jsonArray is a useful command, particularly if you're migrating from SQL mongoimport -d staging -c assets < data.json --jsonArray // navigate to your application cd myappdir // run meteor and initiate it's database meteor // connect to the meteor mongodb meteor mongo --port 3002 // copy collections from staging database into meteor database db.copyDatabase('staging', 'meteor', 'localhost');
Компактная база данных Mongo на ящике Ubuntu
Предварительное выделение. Монго выделяет дисковое пространство в пустых контейнерах, поэтому, когда придет время написать что-то на диск, ему не нужно сначала перетасовывать биты. Он делает это с помощью алгоритма удвоения, всегда удваивая объем дискового пространства, предварительно распределенного до достижения 2 ГБ; а затем каждый файл prealloc оттуда составляет 2 ГБ. Как только данные будут предварительно распределены, он не будет освобожден, если вы специально не сообщите об этом. Таким образом, наблюдаемое использование пространства MongoDB имеет тенденцию к увеличению автоматически, но не вниз.
Некоторые исследования по предопределению Монго ...
восстановительно-MongoDB-базы данных размер файла
Mongo-prealloc-файлы взятие вверх-зал
// compact the database from within the Mongo shell
db.runCommand( { compact : 'mycollectionname' } )
// repair the database from the command line
mongod --config /usr/local/etc/mongod.conf --repair --repairpath /Volumes/X/mongo_repair --nojournal
// or dump and re-import from the command line
mongodump -d databasename
echo 'db.dropDatabase()' | mongo databasename
mongorestore dump/databasename
Сбросить набор реплик
Удалите локальные файлы базы данных. Просто выйдите из оболочки Mongo, перейдите к / dbpath (везде, где вы его настроили), и удалите файлы в этом каталоге.
Подключить удаленно к Mongo Instance на * .meteor.com
Вы знали о флагом --url
? Очень кстати.
meteor mongo --url YOURSITE.meteor.com
Доступ к файлам журнала Mongo на локальном метеорном экземпляре
Они не легко доступны. Если вы запустите команду «meteor bundle», вы можете создать файл tar.gz, а затем запустить свое приложение вручную. При этом вы должны иметь доступ к журналам mongo ... возможно, в каталоге .meteor / db. Если вам действительно нужно получить доступ к файлам журнала mongodb, настройте обычный экземпляр mongodb, а затем подключите Meteor к внешнему экземпляру mongo, установив переменную среды MONGO_URL:
MONGO_URL='mongodb://user:password@host:port/databasename'
Как только это будет сделано, вы сможете иметь доступ к журналам в обычных местах ...
/var/log/mongodb/server1.log
Поворот файлов журнала в ящике Ubuntu
Поверните эти файлы журналов, или они в конечном итоге съедят все ваше дисковое пространство. Начните с некоторых исследований ...
MongoDB лог-файлов роста
вращать лог-файлы
Файлы журнала можно просмотреть с помощью следующей команды ...
ls /var/log/mongodb/
Но для настройки поворота лог-файла вам нужно будет сделать следующее ...
// put the following in the /etc/logrotate.d/mongod file
/var/log/mongo/*.log {
daily
rotate 30
compress
dateext
missingok
notifempty
sharedscripts
copytruncate
postrotate
/bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
// to manually initiate a log file rotation, run from the Mongo shell
use admin
db.runCommand( { logRotate : 1 } )