下面安装二进制版 mongodb 数据库,需要安装什么版本的到官网 MongoDB downloads 下载即可。
1)下载 mongodb
1 |
$ curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.0.tgz |
2)安装 mongodb
1 2 |
$ tar xvf mongodb-linux-x86_64-3.2.0.tgz $ mv mongodb-linux-x86_64-3.2.0 /usr/local/mongodb |
3)添加 mongod 用户
1 2 |
$ groupadd -r mongod $ useradd -M -r -g mongod -d /data/db -s /bin/false -c mongod mongod |
4)创建目录(数据目录、日志目录、PID文件目录)
1 2 3 4 |
$ mkdir -p /data/db $ mkdir -p /var/log/mongodb $ mkdir -p /var/run/mongodb $ chown mongod /data/db/ /var/log/mongodb/ /var/run/mongodb/ |
5)添加环境变量
1 |
$ export PATH=$PATH:/usr/local/mongodb/bin/ |
6)启动mongod(命令行选项模式)
1 2 3 4 5 6 7 8 9 10 11 12 |
$ mongod \ --fork \ --httpinterface \ --rest \ --jsonp \ --setParameter enableLocalhostAuthBypass=0 \ --pidfilepath /var/run/mongodb/mongod.pid \ --dbpath /data/db/ \ --logpath /var/log/mongodb/mongod.log \ --logappend \ --logRotate rename \ --timeStampFormat ctime |
对于环境变量和以选项模式启动的 mongod 都是临时生效,重启无效的配置,可以把它们都加入到 rc.local 脚本中以保证开机自动启动。
对于 mongod 的常用选项解释。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# 后台daemon运行; --fork # 监听IP地址列表,以逗号分隔; --bind_ip # 监听端口,默认27017; --port # 所有接口都需要认证; --setParameter enableLocalhostAuthBypass=0 # pid文件; --pidfilepath # db存放路径; --dbpath # 日志文件; --logpath # 配置文件; --config # 启用认证; --auth # 启用web接口(默认端口28017); --httpinterface # rest api; --rest # json api; --jsonp |
7) 查看 mongod 进程
1 2 3 |
$ netstat -anplt | grep mongo tcp 0 0 0.0.0.0:28017 0.0.0.0:* LISTEN 24603/mongod tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 24603/mongod |
这里会看到有两个进程号,一个是 27017 是 mongod 主进程的,二另一个 28017 就是 web 界面的,在浏览器输入 IP:PORT 就可以访问 web 界面,如下。
8)连接 mongodb
1 2 3 |
$ mongo MongoDB shell version: 3.2.0 connecting to: test |
9) 关闭 mongodb
1 2 3 4 5 6 |
$ mongod --shutdown --dbpath /data/db 或 > use admin > db.shutdownServer() 或 $ killall mongod |
10)配置文件
除了使用选择模式启动 mongod 之外,还可以给 mongod 创建配置文件,而配置文件的参数就是 mongod 的选项,在生产环境中更倾向于使用配置文件来启动 mongod 服务(MongoDB 2.6 之后的安装包默认使用配置文件,且文件格式是 YAML 格式),你手动创建可以选择用 MongoDB 2.6 之前的文件格式或 YAML 格式。这里我使用了 MongdoDB 2.6 之前的文件格式,后面会详细介绍 YAML 格式的。
1 2 3 4 5 6 7 8 |
$ cat /etc/mongod.conf # /etc/mongod.conf logpath = /var/log/mongodb/mongod.log logappend = true dbpath = /data/db port = 27017 fork = true pidfilepath = /var/run/mongodb/mongod.pid |
11)启动 mongod 服务(配置文件模式)
1 2 3 4 |
$ mongod --config /etc/mongod.conf about to fork child process, waiting until server is ready for connections. forked process: 3442 child process started successfully, parent exiting |