CentOS6.5上源码安装MongoDB3.2.1
1、环境准备:
1 mkdir /home/mongodb #创建MongoDB程序存放目录 2 mkdir /data/mongodata -p #创建数据存放目录 3 mkdir /data/log/mongolog -p #创建日志存放目录
2、下载:
1 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.1.tgz
3、安装:
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
为了便于命令启动,需要编辑全局变量PATH
1 vim /etc/profile.d/mongo.sh 2 export PATH=$PATH:/home/mongodb/bin
source /etc/profile.d/mongo.sh
4、启动服务
首先查看mongod的帮助信息
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
启动服务示例:
1 mongod --dbpath=/data/mongodata --logpath=/data/log/mongolog/mongodb.log --logappend --fork
查看是否启动:
1 netstat -tnlp | grep mongod 2 tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 17909/mongod
以上可看出端口27017已经运行
5、测试
启动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安装完毕。