CentOS6.5上源碼安裝MongoDB3.2.1

一、環境準備:linux

1 mkdir /home/mongodb           #建立MongoDB程序存放目錄
2 mkdir /data/mongodata -p      #建立數據存放目錄
3 mkdir /data/log/mongolog -p   #建立日誌存放目錄

二、下載:mongodb

1 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.1.tgz

三、安裝:shell

1 tar xf mongodb-linux-x86_64-3.2.1.tgz
2 cd mongodb-linux-x86_64-3.2.1
3 cp -r * /home/mongodb

爲了便於命令啓動,須要編輯全局變量PATHjson

1 vim /etc/profile.d/mongo.sh
2 export PATH=$PATH:/home/mongodb/bin
source /etc/profile.d/mongo.sh

四、啓動服務vim

首先查看mongod的幫助信息api

  1 [root@test ~]# mongod --help
  2 Options:
  3 
  4 General options:
  5   -h [ --help ]                         show this usage information
  6   --version                             show version information
  7   -f [ --config ] arg                   configuration file specifying 
  8                                         additional options
  9   -v [ --verbose ] [=arg(=v)]           be more verbose (include multiple times
 10                                         for more verbosity e.g. -vvvvv)
 11   --quiet                               quieter output
 12   --port arg                            #指定mongodb服務的端口號,默認爲:27017 
13
--bind_ip arg #在多網卡的機器上指定mongodb服務綁定到哪個ip上
15
--ipv6 enable IPv6 support (disabled by 16 default) 17 --maxConns arg #指定最大客戶端鏈接數
19
--logpath arg #指定日誌文件路徑,必須是一個文件,而不是目錄
20
--syslog log to system's syslog facility instead 23 of file or stdout 24 --syslogFacility arg syslog facility used for mongodb syslog 25 message 26 --logappend #以追加的方式打印日誌到--logpath參數指定的日誌文件中
28
--logRotate arg set the log rotation behavior 29 (rename|reopen) 30 --timeStampFormat arg Desired format for timestamps in log 31 messages. One of ctime, iso8601-utc or 32 iso8601-local 33 --pidfilepath arg full path to pidfile (if not set, no 34 pidfile is created) 35 --keyFile arg private key for cluster authentication 36 --setParameter arg Set a configurable parameter 37 --httpinterface enable http interface 38 --clusterAuthMode arg Authentication mode used for cluster 39 authentication. Alternatives are 40 (keyFile|sendKeyFile|sendX509|x509) 41 --nounixsocket disable listening on unix sockets 42 --unixSocketPrefix arg alternative directory for UNIX domain 43 sockets (defaults to /tmp) 44 --filePermissions arg permissions to set on UNIX domain 45 socket file - 0700 by default 46 --fork #以daemon的形式運行服務進程 47 --auth run with security 48 --noauth run without security 49 --jsonp allow JSONP access via http (has 50 security implications) 51 --rest turn on simple rest api 52 --slowms arg (=100) value of slow for profile and console 53 log 54 --profile arg 0=off 1=slow, 2=all 55 --cpu periodically show cpu and iowait 56 utilization 57 --sysinfo print some diagnostic system 58 information 59 --noIndexBuildRetry don't retry any index builds that were 60 interrupted by shutdown 61 --noscripting disable scripting engine 62 --notablescan do not allow table scans 63 --shutdown kill a running server (for init 64 scripts) 65 66 Replication options: 67 --oplogSize arg size to use (in MB) for replication op 68 log. default is 5% of disk space (i.e. 69 large is good) 70 71 Master/slave options (old; use replica sets instead): 72 --master master mode 73 --slave slave mode 74 --source arg when slave: specify master as 75 <server:port> 76 --only arg when slave: specify a single database 77 to replicate 78 --slavedelay arg specify delay (in seconds) to be used 79 when applying master ops to slave 80 --autoresync automatically resync if slave data is 81 stale 82 83 Replica set options: 84 --replSet arg arg is <setname>[/<optionalseedhostlist 85 >] 86 --replIndexPrefetch arg specify index prefetching behavior (if 87 secondary) [none|_id_only|all] 88 --enableMajorityReadConcern enables majority readConcern 89 90 Sharding options: 91 --configsvr declare this is a config db of a 92 cluster; default port 27019; default 93 dir /data/configdb 94 --configsvrMode arg Controls what config server protocol is 95 in use. When set to "sccc" keeps server 96 in legacy SyncClusterConnection mode 97 even when the service is running as a 98 replSet 99 --shardsvr declare this is a shard db of a 100 cluster; default port 27018 101 102 Storage options: 103 --storageEngine arg what storage engine to use - defaults 104 to wiredTiger if no data files present 105 --dbpath arg #指定數據目錄路徑
107 --directoryperdb each database will be stored in a 108 separate directory 109 --noprealloc disable data file preallocation - will 110 often hurt performance 111 --nssize arg (=16) .ns file size (in MB) for new databases 112 --quota limits each database to a certain 113 number of files (8 default) 114 --quotaFiles arg number of files allowed per db, implies 115 --quota 116 --smallfiles use a smaller default file size 117 --syncdelay arg (=60) seconds between disk syncs (0=never, 118 but not recommended) 119 --upgrade upgrade db if needed 120 --repair run repair on all dbs 121 --repairpath arg root directory for repair files - 122 defaults to dbpath 123 --journal enable journaling 124 --nojournal disable journaling (journaling is on by 125 default for 64 bit) 126 --journalOptions arg journal diagnostic options 127 --journalCommitInterval arg how often to group/batch commit (ms) 128 129 WiredTiger options: 130 --wiredTigerCacheSizeGB arg maximum amount of memory to allocate 131 for cache; defaults to 1/2 of physical 132 RAM 133 --wiredTigerStatisticsLogDelaySecs arg (=0) 134 seconds to wait between each write to a 135 statistics file in the dbpath; 0 means 136 do not log statistics 137 --wiredTigerJournalCompressor arg (=snappy) 138 use a compressor for log records 139 [none|snappy|zlib] 140 --wiredTigerDirectoryForIndexes Put indexes and data in different 141 directories 142 --wiredTigerCollectionBlockCompressor arg (=snappy) 143 block compression algorithm for 144 collection data [none|snappy|zlib] 145 --wiredTigerIndexPrefixCompression arg (=1) 146 use prefix compression on row-store 147 leaf pages

啓動服務示例:app

1 mongod --dbpath=/data/mongodata --logpath=/data/log/mongolog/mongodb.log --logappend --fork

查看是否啓動:dom

1 netstat -tnlp | grep mongod
2 tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      17909/mongod

以上可看出端口27017已經運行curl

五、測試socket

啓動mongodb的shell:

 1 [root@test ~]# mongo
 2 MongoDB shell version: 3.2.1
 3 connecting to: test
 4 Server has startup warnings: 
 5 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
 6 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] 
 7 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] 
 8 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
 9 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
10 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] 
11 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
12 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
13 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] 
14 > help
15     db.help()                    help on db methods
16     db.mycoll.help()             help on collection methods
17     sh.help()                    sharding helpers
18     rs.help()                    replica set helpers
19     help admin                   administrative help
20     help connect                 connecting to a db help
21     help keys                    key shortcuts
22     help misc                    misc things to know
23     help mr                      mapreduce
24 
25     show dbs                     show database names
26     show collections             show collections in current database
27     show users                   show users in current database
28     show profile                 show most recent system.profile entries with time >= 1ms
29     show logs                    show the accessible logger names
30     show log [name]              prints out the last segment of log in memory, 'global' is default
31     use <db_name>                set current database
32     db.foo.find()                list objects in collection foo
33     db.foo.find( { a : 1 } )     list objects in foo where a == 1
34     it                           result of the last line evaluated; use to further iterate
35     DBQuery.shellBatchSize = x   set default number of items to display on shell
36     exit                         quit the mongo shell
37 > show dbs
38 local  0.000GB
39 > 

至此,MongoDB3.2.1安裝完畢。

相關文章
相關標籤/搜索