Linux安裝配置Mongodb

1.下載安裝包 linux

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.3.tgz
下載完成後解壓縮壓縮包
tar -xzvf mongodb-linux-x86_64-2.4.3.tgz

2. 安裝Mongo mongodb

將mongodb移動到/opt/db/server/server/mongdb文件夾 shell

mv mongodb-linux-x86_64-2.4.3 /opt/db/server/server/mongdb
建立數據庫文件夾與日誌文件
mkdir /opt/dev/db/data/mongdb/
touch /opt/dev/db/data/log/mongo.log

3.啓動Mongo 數據庫

cd /opt/dev/db/server/server/mongdb.bin;#進入mongo的bin目錄
./mongod --dbpath=/opt/db/data/mongdb/ --logpath=logpath/opt/dev/db/data/log/mongo.log --logappend --port=27017
image

4.測試是否啓動成功: 服務器

netstat –nptl | grep mongod
image

注意咱們這麼並無看到mongo相關的信息,說明啓動失敗了,上面提示裏:日誌文件在:image app

好!咱們打開日誌文件看看:
more /opt/dev/db/data/log/mongodb.log

日誌裏說:當前庫文件所在的磁盤過小了,至少3379MB,或者在啓動命令里加 –smallfiles 測試

好,此次咱們加上參數—smallfiles在啓動一次: ui

cd /opt/dev/db/server/server/mongdb.bin;
./mongod  --smallfiles --dbpath=/opt/dev//db/data/mongdb/ 
–logpath=logpath/opt/dev/db/data/log/mongo.log --port=27017 --logappend&

再次驗證: this

netstat –nptl | grep mongod
image


OK!成功! spa

5. 設置開機自啓動

將mongodb啓動項目追加入rc.local保證mongodb在服務器開機時啓動

在命令行裏執行執行:
echo 「/opt/db/dev/data/mongdb/bin/mongod --dbpath=/opt/dev/db/data/mongdb/ 
--logpath=logpath/opt/dev/db/data/log/mongo.log –logappend -–port=27017" >> /etc/rc.local
或者手動編輯/etc/rc.local添加上去
vi /etc/rc.local
添加:
/opt/db/dev/data/mongdb/bin/mongod --dbpath=/opt/dev/db/data/mongdb/ 
--logpath=logpath/opt/dev/db/data/log/mongo.log –-logappend -–port=27017

若出現上面數據庫存放的磁盤過小致使沒法啓動服務的問題,則直接在上面的參數里加上--smallfiles 便可

6.添加mongo環境變量

每次連接mongo都得跑到mongodb/bin下面執行,這太不方便了:

在/usr/bin下建立mongo的軟鏈接
ln -s /opt/dev/db/mongodb/bin/mongo /usr/bin/mongo

而後以後就能夠在任意目錄使用mongo命令了

7. 進入數據庫的CLI管理界面

cd到mongodb目錄下的bin文件夾,執行命令./mongo

運行以下:

./bin/mongo
MongoDB shell version: 2.4.3
connecting to: test
> use test;
switched to db test

若數據庫出現如不能連上,則是一個data目錄下的mongod.lock文件的問題,能夠用以下的修復的命令,

mongod --repair

8.配置參數

啓動說明:

//下面這個是須要權限的登陸方式, 用戶鏈接須要用戶名和密碼

/opt/db/data/mongodb/bin/mongod --dbpath=/opt/db/data/mongdb/ 
–logpath=logpath/opt/db/data/log/mongo.log –logappend --auth  --port=27017 --fork
//這個是不須要密碼的
/opt/db/data/mongodb/bin/mongod --dbpath=/opt/db/data/mongdb/ 
–logpath=logpath/opt/db/data/log/mongo.log –logappend --port=27017 –fork
即:--auth爲是否登陸,加上該參數爲須要密碼,去掉則不須要密碼 參數說明:
--dbpath                  數據庫路徑(數據文件)
--logpath                 日誌文件路徑
--master                  指定爲主機器
--slave                   指定爲從機器
--source                  指定主機器的IP地址
--pologSize               指定日誌文件大小不超過64M.由於resync是很是操做量大且耗時,
                          最好經過設置一個足夠大的oplogSize來避免
resync                    (默認的 oplog大小是空閒磁盤大小的5%)。
--logappend               日誌文件末尾添加
--port                    啓用端口號
--fork                    在後臺運行
--only                    指定只複製哪個數據庫
--slavedelay              指從複製檢測的時間間隔
--auth                    是否須要驗證權限登陸(用戶名和密碼)
-h [ --help ]             show this usage information
--version                 show version information
-f [ --config ] arg       configuration file specifying additional options
--port arg                specify port number
--bind_ip arg             local ip address to bind listener - all local ips
                          bound by default
-v [ --verbose ]          be more verbose (include multiple times for more
                          verbosity e.g. -vvvvv)
--dbpath arg (=/data/db/) directory for datafiles    
                          指定數據存放目錄
--quiet                   quieter output   靜默模式
--logpath arg             file to send all output to instead of stdout   
                          指定日誌存放目錄
--logappend               appnd to logpath instead of over-writing 
                          指定日誌是以追加仍是以覆蓋的方式寫入日誌文件
--fork                    fork server process   
                          以建立子進程的方式運行
--cpu                     periodically show cpu and iowait utilization 
                          週期性的顯示cpu和io的使用狀況
--noauth                  run without security 無認證模式運行
--auth                    run with security 認證模式運行
--objcheck                inspect client data for validity on receipt 
                          檢查客戶端輸入數據的有效性檢查
--quota                   enable db quota management   開始數據庫配額的管理
--quotaFiles arg          number of files allower per db, requires --quota 
                          規定每一個數據庫容許的文件數
--appsrvpath arg          root directory for the babble app server
--nocursors               diagnostic/debugging option 調試診斷選項
--nohints                 ignore query hints 忽略查詢命中率
--nohttpinterface         disable http interface 關閉http接口,默認是28017
--noscripting             disable scripting engine 關閉腳本引擎
--noprealloc              disable data file preallocation 關閉數據庫文件大小預分配
--smallfiles              use a smaller default file size 使用較小的默認文件大小
--nssize arg (=16)        .ns file size (in MB) for new databases 新數據庫ns文件的默認大小
--diaglog arg             0=off 1=W 2=R 3=both 7=W+some reads 
                          提供的方式,是隻讀,只寫,仍是讀寫都行,仍是主要寫+部分的讀模式
--sysinfo                 print some diagnostic system information 打印系統診斷信息
--upgrade                 upgrade db if needed 若是須要就更新數據庫
--repair                  run repair on all dbs 修復全部的數據庫
--notablescan             do not allow table scans 不運行表掃描
--syncdelay arg (=60)     seconds between disk syncs (0 for never) 
                          系統同步刷新磁盤的時間,默認是60s
Replication options:
--master                  master mode 主複製模式
--slave                   slave mode 從複製模式
--source arg              when slave: specify master as <server:port> 
                          當爲從時,指定主的地址和端口
--only arg                when slave: specify a single database to replicate 
                          當爲從時,指定須要從主複製的單一庫
--pairwith arg            address of server to pair with
--arbiter arg             address of arbiter server 仲裁服務器,在主主中和pair中用到
--autoresync              automatically resync if slave data is stale 自動同步從的數據
--oplogSize arg           size limit (in MB) for op log 指定操做日誌的大小
--opIdMem arg             size limit (in bytes) for in memory storage of op ids
                          指定存儲操做日誌的內存大小
Sharding options:
--configsvr               declare this is a config db of a cluster 指定shard中的配置服務器
--shardsvr                declare this is a shard db of a cluster 指定shard服務器
相關文章
相關標籤/搜索