導(dǎo)入和導(dǎo)出

命令太枯燥了,讓大家看看妹子
mongoimport命令可以把一個(gè)特定格式文件中的內(nèi)容導(dǎo)入到指定的collection中。該工具可以導(dǎo)入JSON格式數(shù)據(jù),也可以導(dǎo)入CSV格式的數(shù)據(jù)。
mongoexport命令可以把一個(gè)collection導(dǎo)出成JSON格式或CSV格式的文件。可以通過參數(shù)指定導(dǎo)出的數(shù)據(jù)項(xiàng),也可以根據(jù)指定的條件導(dǎo)出數(shù)據(jù)。
-d:指明數(shù)據(jù)庫(kù)的名字
-c:指明collection的名字
-f:指明要導(dǎo)出哪些列
-o:指明要導(dǎo)出的文件名
-q:指明導(dǎo)出數(shù)據(jù)的過濾條件
mongoexport -d school -c info -o /opt/info.json //導(dǎo)出
mongoimport -d school -c info1 --file /opt/info.json //導(dǎo)入到info集合
mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json //條件導(dǎo)出指定第10行
備份和恢復(fù)
備份:mongodump
恢復(fù):mongorestore
參數(shù)說明:
-h: MongoDB所在服務(wù)器地址
-d:需要備份的數(shù)據(jù)庫(kù)實(shí)例
-o:備份的數(shù)據(jù)存放的位置,該目錄需要提前建立,在備份完成后,系統(tǒng)自動(dòng)在dump目錄下建立一個(gè)test目錄,這個(gè)目錄里面存放該數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。
mkdir /backup //創(chuàng)建存放目錄
mongodump -d abc -o /backup/ //備份abc數(shù)據(jù)庫(kù)
mongorestore -d abc123 --dir=/backup/abc //恢復(fù)到abc123數(shù)據(jù)庫(kù)
復(fù)制數(shù)據(jù)庫(kù)
db.copyDatabase
>db.copyDatabase("abc","abc1") //復(fù)制數(shù)據(jù)庫(kù)abc生成abc1
克隆集合
runCommand
將abc中的info集合克隆到實(shí)例2
mongo --port 27018 //進(jìn)入實(shí)例2
db.runCommand({"cloneCollection":"abc.info","from":"192.168.100.152:27017"})
授權(quán)啟動(dòng)
可以配置授權(quán)用戶來訪問MongoDB,啟動(dòng)時(shí)必須指定auth=true,否則授權(quán)不起作用。
可以將用戶加入到角色,內(nèi)置數(shù)據(jù)庫(kù)用戶角色包括:read、readWrite,數(shù)據(jù)庫(kù)管理角色包括:dbAdmin、dbOwner、useAdmin,超級(jí)用戶角色為root。
vim /usr/bin/mongodb1.conf
......
auth=true
......
mongo
>use admin
>db.createUser({"zx":"root","pwd":"123","roles":"[root"]}) //創(chuàng)建用戶zx,密碼為123,分配到root角色
>db.auth("root","123") //驗(yàn)證用戶
進(jìn)程管理
查看當(dāng)前正在運(yùn)行的進(jìn)程的命令為:db.currentOp()
終止正在運(yùn)行的高消耗資源的進(jìn)程命令為:db.killOp(opid)
MongoDB監(jiān)控
查看數(shù)據(jù)庫(kù)實(shí)例的狀態(tài)信息:db.serverStatus()
查看當(dāng)前數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息:db.status()
查看集合統(tǒng)計(jì)信息:db.users.stats()
查看集合大小:db.users.dataSize()
也可以通過Web界面查看系統(tǒng)監(jiān)控信息,需要在配置文件中添加下面一行:
httpinterface=true
然后在瀏覽器中通過http://localhost:28017 進(jìn)行訪問。通過Web頁(yè)面可以看到:
1.當(dāng)前MongoDB的所有連接
2.各個(gè)數(shù)據(jù)庫(kù)和Collection的訪問統(tǒng)計(jì),包括:Reads、Writes、Queries、GetMores、Inserts、Updates、Removes。
3.寫鎖的狀態(tài)
4.日志文件的最后幾百行。
5.所有的MongoDB命令。