你的位置:首页 > 数据库

[数据库]MongoDB安装启动


MongoDB安装


 使用的版本为3.0,虚拟机操作系统为rhel-server-7.0-x86_64
1. 将mongodb-linux-x86_64-rhel70-3.0.11.tgz上传并解压到 /usr/local/mongodb 目录下
2. 设置环境变量
# vi /etc/profile
添加export PATH=$PATH:/usr/local/mongodb/bin
# source /etc/profile
# mongo -version
MongoDB shell version: 3.0.11

Ok接下测试一下

首先新建一个目录,MongoDB相关的数据文件都在放在此目录下
# mkdir /data/mongodb

MongoDB启动


 

启动MongoDB时,可以在命令行中添加参数,也能把参数写在配置文件中
1. 参数写在配置文件中
参数种类有很多,有关于日志的,数据库的,网络的,集群的等...
详细的参数以及说明详见官网:https://docs.mongodb.org/manual/reference/configuration-options/

在/data/mongodb目录下新建一个配置文件 mongo.conf
注意:缩进内容不支持tab只能用空格...
配置文件的内容为:
systemLog:
   destination: file
   path: "/data/mongod.log"
   logAppend: true
storage:
   dbPath: /data/mongodb
   journal:
      enabled: true
   directoryPerDB: true
processManagement:
   fork: true
net:
   bindIp: 127.0.0.1
   port: 27017

启动mongod服务
# mongod --config /data/mongodb/mongo.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3037
child process started successfully, parent exiting

服务启动成功
# ps -aux|grep mongod
root       3037  1.8  1.6 490120 46544 ?        Sl   10:28   0:00 mongod --config /data/mongodb/mongo.conf
root       3049  0.0  0.0 112640   980 pts/0    S+   10:28   0:00 grep --color=auto mongod

连接到 mongo shell
# mongo --port 27017
MongoDB shell version: 3.0.11
connecting to: 127.0.0.1:27017/test
>

Ok启动完毕

2. 命令行指定参数
命令行启动就更简单了直接输入命令回车即可
mongod --port=27017 --dbpath=/data/mongodb --logpath=/data/mongod.log --logappend --directoryperdb --fork

关于配置文件和命令行选项参数,我觉得可以把各个服务器共享的配置写在文件里,针对性的配置,放在命令行中,比较好统一管理

简单说明一下使用到的参数:
--port:端口号
--dbpath:数据库文件存放路径
--logpath:日志存放位置
--logappend:日志追加到文件末尾
--directoryperdb:true 使用一个单独的目录为每个数据库来存储数据
--fork:后台运行

此外,现在的机器基本是多CPU,多内存块,如果我们直接使用mongod 命令启用会得到一个警告
WARNING: You are running on a NUMA machine.

只需要在原启动命令前添加  numactl –interleave=all  即可,比如上面的启动命令
# cd /usr/local/mongodb/bin/
numactl –interleave=all ./mongod --port=27017 --dbpath=/data/mongodb --logpath=/data/mongod.log --logappend --directoryperdb --fork

至于为什么这样启动,我从网上找了片文章,不知道能不能彻底说明问题,可以了解一下
https://www.ttlsa.com/mongodb/mongodb-numa/