Buscar..
Observaciones
Si no te opones a ejecutar una utilidad Ruby, Genghis es un clásico: http://genghisapp.com/
Pero para un uso de producción escalable, vaya a MongoHQ.
http://www.mongohq.com/
Además, el Mongo Monitoring Service, de 10Gen, los creadores de Mongo:
https://mms.mongodb.com/
MongoClient está escrito en Meteor, totalmente gratuito, de código abierto y multiplataforma.
RoboMongo herramienta multiplataforma de administración nativa de MongoDB
Analizar una base de datos heredada
Hay dos grandes utilidades para el análisis de caja negra de bases de datos. Primero está la variedad.js, que le dará una descripción general de alto nivel. El segundo es schema.js, que le permitirá profundizar en las colecciones para obtener más detalles sobre los campos individuales. Al heredar una base de datos Mongo de producción, estas dos utilidades pueden ayudarlo a comprender qué está sucediendo y cómo se estructuran las colecciones y los documentos.
mongo test --eval "var collection = 'users'" variety.js
mongo --shell schema.js
Conectarse a una base de datos en * .meteorapp.com
La bandera --url puede ser difícil de usar. Hay una ventana de 60 segundos para autenticar, y luego el nombre de usuario / contraseña se restablece aleatoriamente. Así que asegúrese de tener robomongo abierto y listo para configurar una nueva conexión cuando ejecute el comando.
# get the MONGO_URL string for your app
meteor mongo --url $METEOR_APP_URL
Descargar una base de datos desde * .meteor.com
Lo mismo que antes, pero tienes que copiar la información en el comando mongodump. Debe ejecutar los siguientes comandos con rapidez, y requiere coordinación mano / ojo. Ser advertido ¡Esto es un hacky ridículamente! ¡Pero divertido! ¡Piénsalo como un videojuego! :RE
# 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
Exportar datos de la instancia de desarrollo local de Meteor?
Este comando creará un directorio / dump y almacenará cada colección en un archivo blob BSON separado. Esta es la mejor manera de hacer copias de seguridad o transferir bases de datos entre sistemas.
mongodump --db meteor
Restaurar datos de un archivo de volcado
El análogo a la meteordump
comando es meteorrestore
. Puedes hacer una importación parcial seleccionando la colección específica para importar. Particularmente útil después de ejecutar un comando 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
Exportar una colección a JSON
Ejecute meteoro, abra otra ventana de terminal y ejecute el siguiente comando.
mongoexport --db meteor --collection foo --port 3001 --out foo.json
Importar un archivo JSON en Meteor
Importar en una instancia predeterminada de Meteor es bastante fácil. Tenga en cuenta que puede agregar una opción --jsonArray si su archivo json se exporta como una matriz desde otro sistema.
mongoimport --db meteor --port 3001 --collection foo --file foo.json
Copia de datos entre la puesta en escena y bases de datos locales
Mongo admite la copia de base de datos a base de datos, lo cual es útil si tiene bases de datos grandes en una base de datos provisional que desea copiar en una instancia de desarrollo local.
// 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');
Compactar una base de datos Mongo en una caja de Ubuntu
Preubicación. Mongo deja de lado el espacio del disco en contenedores vacíos, de modo que cuando llega el momento de escribir algo en el disco, no tiene que desordenar los bits primero. Lo hace mediante un algoritmo de duplicación, duplicando siempre la cantidad de espacio en disco preasignado hasta que alcanza los 2 GB; y luego cada archivo prealloc desde allí es de 2GB. Una vez que los datos se preasignan, no se desasigna a menos que se lo indique específicamente. Por lo tanto, el uso del espacio MongoDB observable tiende a aumentar automáticamente, pero no a la baja.
Algunas investigaciones sobre la preasubicación de Mongo ...
Reducir-mongodb-database-file-size
mongo-prealloc-files-take-up-room
// 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
Restablecer un conjunto de réplicas
Eliminar los archivos de la base de datos local. Simplemente salga del shell Mongo, navegue hasta la ruta / dbpath (donde sea que lo configure) y elimine los archivos dentro de ese directorio.
Conéctese remotamente a una instancia de Mongo en * .meteor.com
¿Sabías de la bandera --url
? Muy útil.
meteor mongo --url YOURSITE.meteor.com
Acceso a los archivos de registro de Mongo en una instancia de meteorito local
No son fácilmente accesibles. Si ejecuta el comando 'paquete de meteoros', puede generar un archivo tar.gz y luego ejecutar su aplicación manualmente. Al hacerlo, debería poder acceder a los registros de Mongo ... probablemente en el directorio .meteor / db. Si realmente necesita acceder a los archivos de registro de mongodb, configurar una instancia de mongodb regular y luego conectar Meteor a una instancia de mongo externa, configurando la variable de entorno MONGO_URL:
MONGO_URL='mongodb://user:password@host:port/databasename'
Una vez hecho esto, deberías poder acceder a los registros en los lugares habituales ...
/var/log/mongodb/server1.log
Rotar archivos de registro en una caja de Ubuntu
Tienes que rotar esos archivos de registro, o eventualmente se consumirán todo el espacio de tu disco. Comience con algunas investigaciones ...
mongodb-log-file-growth
rotate-log-files
Los archivos de registro se pueden ver con el siguiente comando ...
ls /var/log/mongodb/
Pero para configurar la rotación de archivos de registro, deberá hacer lo siguiente ...
// 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 } )