수색…
비고
Ruby 유틸리티를 실행하는 것에 반대하지 않는다면 Genghis는 고전입니다. http://genghisapp.com/
그러나 확장 가능한 생산 사용을 위해서는 MongoHQ에 몸을 맡기십시오.
http://www.mongohq.com/
또한 Mongo의 제작자 인 10Gen의 Mongo Monitoring Service :
https://mms.mongodb.com/
MongoClient 는 Meteor, Complete Free, Open Source 및 Cross-Platform으로 작성되었습니다.
RoboMongo 네이티브 크로스 플랫폼 MongoDB 관리 도구
상속 된 데이터베이스 분석
데이터베이스의 블랙 박스 분석에는 두 가지 훌륭한 유틸리티가 있습니다. 첫 번째는 variety.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 명령에 복사해야합니다. 다음 명령을 재빨리 빨리 실행해야하며 손 / 눈동자 조정이 필요합니다. 경고 받다! 이것은 우스꽝스러운 해키트입니다! 그러나 재미! 비디오 게임으로 생각하십시오! :디
# 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 디렉토리를 작성하고 각 콜렉션을 개별 BSON blob 파일에 저장합니다. 이것은 시스템간에 데이터베이스를 백업하거나 전송하는 가장 좋은 방법입니다.
mongodump --db meteor
덤프 파일에서 데이터 복원
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
Meteor로 JSON 파일 가져 오기
기본 Meteor 인스턴스로 가져 오기는 매우 쉽습니다. json 파일을 다른 시스템의 배열로 내보내는 경우 --jsonArray 옵션을 추가 할 수 있습니다.
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는 빈 컨테이너에 디스크 공간을 둡니다. 그래서 디스크에 무언가를 쓸 때가되면 먼저 비트를 섞어 놓을 필요가 없습니다. 이것은 배가 알고리즘에 의해 수행되며, 사전 할당 된 디스크 공간이 2GB에 도달 할 때까지 항상 두 배가됩니다. 그런 다음 각 prealloc 파일은 2GB입니다. 데이터가 사전 할당 된 후에는 특별히 지정하지 않으면 할당되지 않습니다. 따라서 관측 가능한 MongoDB 공간 사용은 자동으로 증가하는 경향이 있지만 감소하지는 않습니다.
몽고 사전 할당에 관한 연구
reduce-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
복제 세트 재설정
로컬 데이터베이스 파일을 삭제하십시오. Mongo 쉘을 종료하고 / dbpath (설정 한 곳)로 이동 한 다음 해당 디렉토리 내의 파일을 삭제하십시오.
* .meteor.com의 Mongo 인스턴스에 원격으로 연결
--url
플래그에 대해 아십니까? 매우 편리합니다.
meteor mongo --url YOURSITE.meteor.com
로컬 Meteor 인스턴스에서 Mongo 로그 파일에 액세스하기
그들은 쉽게 접근 할 수 없습니다. '유성 번들'명령을 실행하면 tar.gz 파일을 생성 한 다음 앱을 수동으로 실행할 수 있습니다. 그렇게하면 아마도 .meteor / db 디렉토리에서 mongo 로그에 액세스 할 수 있습니다. mongodb 로그 파일에 실제로 액세스해야하는 경우 일반 mongodb 인스턴스를 설정 한 다음 Mongo_URL 환경 변수를 설정하여 Metoor를 외부 mongo 인스턴스에 연결하십시오.
MONGO_URL='mongodb://user:password@host:port/databasename'
완료되면 평소에 로그에 액세스 할 수 있어야합니다 ...
/var/log/mongodb/server1.log
우분투 상자에서 로그 파일 회전
로그 파일을 회전시켜야합니다. 그렇지 않으면 디스크 공간이 모두 소모됩니다. 약간 연구로 시작하십시오 ...
mongodb-log-file-growth
회전 로그 파일
로그 파일은 다음 명령으로 볼 수 있습니다 ...
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 } )