CentOS6.5上源码安装MongoDB3.2.1
CentOS6.5上源码安装MongoDB3.2.1
jason 李东明 | www.ruhechi.com www.eqigan.com |
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
修改密码
db.changeUserPassword('useradmin','riDJldsQGvIqH68M');
db.auth('useradmin', 'riDJldsQGvIqH68M');
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安装完毕。
更多MongoDB相关教程见以下内容:
CentOS 编译安装 MongoDB与mongoDB的php扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm
CentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm
Ubuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm
MongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm
Ubunu 14.04下MongoDB的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm
《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm
Nagios监控MongoDB分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm
基于CentOS 6.5操作系统搭建MongoDB服务 http://www.linuxidc.com/Linux/2014-11/108900.htm