mongodb基本管理

yepkeepmoving發表於2017-11-21
mongodb是由c++語言編寫的一種分散式文件(document)資料庫
一、Mongodb安裝
1、下載:
    
2、安裝
[root@node1 mongodb]# tar -xzvf mongodb-linux-x86_64-rhel62-3.4.10.tgz
[root@node1 mongodb]# mv mongodb-linux-x86_64-rhel62-3.4.10 /usr/local/mongodb
[root@node1 mongodb]# vi ~/.bash_profile
    PATH=$PATH:$HOME/bin:/usr/local/mongodb/bin
    export PATH
[root@node1 mongodb]# source ~/.bash_profile
3、配置
(1)資料、日誌目錄建立
[root@node1 mongodb]# mkdir -p /home/mongodb/data
[root@node1 mongodb]# mkdir /home/mongodb/logs
(2)啟動配置檔案建立
[root@node1 mongodb]# touch /home/mongodb/mongo.conf

點選(此處)摺疊或開啟

  1. port = 27017
  2. fork = true
  3. pidfilepath = /home/mongodb
  4. dbpath = /home/mongodb/data
  5. logpath = /home/mongodb/logs/mongodb.log
  6. logappend = true
  7. oplogSize = 1000
  8. maxConns = 5000
  9. profile = 1
  10. slowms = 5
  11. shardsvr = true
  12. storageEngine = wiredTiger
(3)啟動服務配置
[root@node1 mongodb]# vi /etc/init.d/mongod
[root@node1 mongodb]# chmod u+x /etc/init.d/mongod
[root@node1 mongodb]# chkconfig --add /etc/init.d/mongod

點選(此處)摺疊或開啟

  1. #!/bin/sh
  2. # chkconfig: - 64 36
  3. # description:mongod
  4. case $1 in
  5.     start)
  6.     /usr/local/mongodb/bin/mongod -f /home/mongodb/mongo.conf
  7.     ;;
  8.  
  9.     stop)
  10.     /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
  11.     ;;

  12.     status)
  13.     /usr/local//mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
  14.     ;;
  15. esac
4、啟動
(1)命令列啟動
不啟動http訪問,監聽埠27017
[root@node1 mongodb]# mongod --dbpath /home/mongodb/data --port 27017  --logpath /home/mongodb/logs --logappend
啟動http訪問,http監聽埠28017
[root@node1 mongodb]# mongod --dbpath /home/mongodb/data --rest
(2)配置檔案啟動
[root@node1 mongodb]# mongod  -f /home/mongodb/mongo.conf     
about to fork child process, waiting until server is ready for connections.
forked process: 16357
child process started successfully, parent exiting
(3)服務啟動
[root@node1 mongodb]# service mongod start        
about to fork child process, waiting until server is ready for connections.
forked process: 16814
child process started successfully, parent exiting
5、關閉
(1)> use admin
switched to db admin
> db.shutdownServer()
server should be down...
(2)或者直接透過kill命令關閉
(3)service mongod stop

6、連線mongodb
預設埠是27017,監聽IP地址127.0.0.1
(1)直接連線
[root@node1 ~]# mongo
(2)指定連線IP、埠、使用者、密碼連線
(3)

二、Mongodb日常管理
1、mongodb工具
bsondump  
mongod     
mongoexport  
mongoimport  
mongoperf    
mongorestore  
mongostat
mongo     
mongodump  
mongofiles   
mongooplog   
mongoreplay  
mongos        
mongotop
2、mongodb常用命令
(1)檢視資料庫
> show dbs        ##檢視所有資料庫
admin  0.000GB
local  0.000GB
> db            ##檢視當前資料庫
test
(2)切換資料庫
> use admin        ##切換到admin資料庫
switched to db admin
(3)

三、概念
1、資料對比
mongodb中基本的概念是文件、集合、資料庫
SQL術語/概念    MongoDB術語/概念    解釋/說明
database        database            資料庫
table            collection            資料庫表/集合
row                document            資料記錄行/文件
column            field                資料欄位/域
index            index                索引
table joins                             表連線,MongoDB不支援
primary key        primary key            主鍵,MongoDB自動將_id欄位設定為主鍵
2、mongodb常用命令


四、附錄
1、mongod引數說明
--quiet    # 安靜輸出
--port arg    # 指定服務埠號,預設埠27017
--bind_ip arg    # 繫結服務IP,若繫結127.0.0.1,則只能本機訪問,不指定預設本地所有IP
--logpath arg    # 指定MongoDB日誌檔案,注意是指定檔案不是目錄
--logappend    # 使用追加的方式寫日誌
--pidfilepath arg    # PID File 的完整路徑,如果沒有設定,則沒有PID檔案
--keyFile arg    # 叢集的私鑰的完整路徑,只對於Replica Set 架構有效
--unixSocketPrefix arg    # UNIX域套接字替代目錄,(預設為 /tmp)
--fork    # 以守護程式的方式執行MongoDB,建立伺服器程式
--auth    # 啟用驗證
--cpu    # 定期顯示CPU的CPU利用率和iowait
--dbpath arg    # 指定資料庫路徑
--diaglog arg    # diaglog選項 0=off 1=W 2=R 3=both 7=W+some reads
--directoryperdb    # 設定每個資料庫將被儲存在一個單獨的目錄
--journal    # 啟用日誌選項,MongoDB的資料操作將會寫入到journal資料夾的檔案裡
--journalOptions arg    # 啟用日誌診斷選項
--ipv6    # 啟用IPv6選項
--jsonp    # 允許JSONP形式透過HTTP訪問(有安全影響)
--maxConns arg    # 最大同時連線數 預設2000
--noauth    # 不啟用驗證
--nohttpinterface    # 關閉http介面,預設關閉27018埠訪問
--noprealloc    # 禁用資料檔案預分配(往往影響效能)
--noscripting    # 禁用指令碼引擎
--notablescan    # 不允許表掃描
--nounixsocket    # 禁用Unix套接字監聽
--nssize arg (=16)    # 設定信資料庫.ns檔案大小(MB)
--objcheck    # 在收到客戶資料,檢查的有效性,
--profile arg    # 檔案引數 0=off 1=slow, 2=all
--quota    # 限制每個資料庫的檔案數,設定預設為8
--quotaFiles arg    # number of files allower per db, requires --quota
--rest    # 開啟簡單的rest API
--repair    # 修復所有資料庫run repair on all dbs
--repairpath arg    # 修復庫生成的檔案的目錄,預設為目錄名稱dbpath
--slowms arg (=100)    # value of slow for profile and console log
--smallfiles    # 使用較小的預設檔案
--syncdelay arg (=60)    # 資料寫入磁碟的時間秒數(0=never,不推薦)
--sysinfo    # 列印一些診斷系統資訊
--upgrade    # 如果需要升級資料庫  * Replicaton 引數

--------------------------------------------------------------------------------

--fastsync    # 從一個dbpath裡啟用從庫複製服務,該dbpath的資料庫是主庫的快照,可用於快速啟用同步
--autoresync    # 如果從庫與主庫同步資料差得多,自動重新同步,
--oplogSize arg    # 設定oplog的大小(MB)  * 主/從引數

--------------------------------------------------------------------------------

--master    # 主庫模式
--slave    # 從庫模式
--source arg    # 從庫 埠號
--only arg    # 指定單一的資料庫複製
--slavedelay arg    # 設定從庫同步主庫的延遲時間  * Replica set(副本集)選項:

--------------------------------------------------------------------------------

--replSet arg    # 設定副本集名稱  * Sharding(分片)選項

--------------------------------------------------------------------------------
--configsvr    # 宣告這是一個叢集的config服務,預設埠27019,預設目錄/data/configdb
--shardsvr    # 宣告這是一個叢集的分片,預設埠27018
--noMoveParanoia    # 關閉偏執為moveChunk資料儲存

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27067062/viewspace-2147567/,如需轉載,請註明出處,否則將追究法律責任。

相關文章