?mongoDB啟動配置詳解
1.啟動項 mongod --help
1.1利用config配置文件來啟動數據庫改變端口為8888
mongodb.conf文件
dbpath = D:appmongodata
port = 8888
啟動文件
mongod.exe --config mongodb.conf
shell文件
mongo 127.0.0.1:8888
2.停止mongoDB服務
1.1ctrl+c 組合鍵可以關閉數據庫
1.2admin數據庫命令關閉數據
use admin
db.shutdownServer()
?導出,導入,運行時備份 一導出、導入
1.導出數據(中斷其他操作)
打開CMD
利用mongoexport
-d 指明使用的庫
-c 指明要導出的表
-o 指明要導出的文件名
-csv 制定導出的csv格式
-q 過濾導出
--type
1.1把數據好foobar中的persons導出
mongoexport -d foobar -c persons -oD:/persons.json
1.2導出其他主機數據庫的文檔
mongoexport --host 192.168.0.16 --port 37017
2.導入數據(中斷其他操作)
2.1到入persons文件
mongoimport --db foobar --collection persons --file d:/persons.json
二備份
1.運行時備份mongodump
1.1導出127.0.0.1服務下的27017下的foobar數據庫
mongodump --host 127.0.0.1:27017 -d foobar -o d:/foobar
2.運行時恢復mongorestore
2.1刪除原本的數據庫用剛才導出的數據庫恢復
db.dropDatabase()
mongorestore --host 127.0.0.1:27017 -d foobar -directoryperdb d:/foobar/foobar
3.懶人備份
mongoDB是文件數據庫這其實就可以用拷貝文件的方式進行備份
?Fsync鎖,數據修復
1.Fsync的使用
先來看看mongoDB的簡單結構
2.上鎖和解鎖
上鎖
db.runCommand({fsync:1,lock:1});
解鎖
db.currentOp()
3.數據修復
當停電等不可逆轉災難來臨的時候,由於mongodb的存儲結構導致
會產生垃圾數據,在數據恢復以後這垃圾數據依然存在,這是數據庫
提供一個自我修復的能力.使用起來很簡單
db.repairDatabase()
?用戶管理,安全認證 http://www.cnblogs.com/dennisit/archive/2013/02/22/2922906.html
1.添加一個用戶
1.1為admin添加uspcat用戶和foobar數據庫的zhang用戶
use admin
db.addUser(“uspcat”,”123”);
use foobar
db.addUser(“zhang”,”123”);
2.啟用用戶
db.auth(“名稱”,”密碼”)
3.安全檢查 --auth
mogod --dbpath d:appmongodata --auth
mogo localhost:27017
use foobar
db.persons.find() //會報錯
非foobar的用戶是不能操作數據庫的,啟用自己的用戶才能訪問
db.auth("zhang","123")
非admin數據庫的用戶不能使用數據庫命令
db.auth("zhang","123")
show dbs //會報錯
admin數據庫中的數據經過認證為管理員用戶
4.用戶刪除操作
db.system.users.remove({user:"zhang"});