前言:
下载MongoDB:
https://www.mongodb.com/download-center/community
正文:
1、将下载好的 mongodb-linux-x86_64-3.0.6.tgz 解压到指定目录
[root@localhost ~]# mv mongodb-linux-x86_64-3.0.6.tgz /usr/local/env/ # 移动到指定文件夹
[root@localhost ~]# cd /usr/local/env/
[root@localhost env]# tar -zxvf mongodb-linux-x86_64-3.0.6.tgz # 解压
[root@localhost env]# mv mongodb-linux-x86_64-3.0.6 mongodb # 将解压后的文件夹改名为 mongodb
2、MongoDB默认的数据存放在data目录下
新建data/db目录:
[root@localhost env]# cd mongodb/
[root@localhost mongodb]# mkdir -p data/db # 使用-p参数创建二级目录
3、新建logs、etc文件夹
创建日志目录和配置文件目录:
[root@localhost mongodb]# mkdir logs
[root@localhost mongodb]# mkdir etc
[root@localhost mongodb]# touch logs/mongo.log
创建配置文件:
[root@localhost mongodb]# vim etc/mongo.cfg
配置文件中填写如下信息:
dbpath=/usr/local/env/mongodb/data
logpath=/usr/local/env/mongodb/logs/mongo.log
logappend=true
journal=true
quiet=true
port=27017
fork=true # 后台运行
bind_ip=0.0.0.0 # 允许所有IP连接
auth=false #是否授权连接
4、创建MongoDB的专属用户和组
[root@localhost mongodb]# groupadd mongodb
[root@localhost mongodb]# useradd -r -g mongodb mongodb
参数解释:
-r 表示该用户不可用于登陆
-g 表示把mongodb用户添加到后面的mongodb组里面
5、配置环境变量
修改 /etc
目录下的 profile
文件:
[root@localhost mongodb]# vim /etc/profile
在最后添加如下信息:
export PATH=$PATH:/usr/local/env/mongodb/bin
保存退出:依次按 esc
-> :
-> wq
刷新并保存设置:
[root@localhost mongodb]# source /etc/profile
到此,MongoDB就装好了。
6、启动MongoDB
开启MongoDB要先切换到mongodb用户:
[root@localhost mongodb]# sudo su mongodb # 切换到mongodb用户
[mongodb@localhost mongodb]# ./bin/mongod --journal -f etc/mongo.cfg # 携带配置文件开启MongoDB,启动 mongod 线程
[mongodb@localhost mongodb]# exit # 退出mongodb用户
因为在启动了 mongod 线程后,会默认在 /tmp
目录下创建一个 mongodb-27017.sock
文件,如果不使用mongodb用户启动线程,那么 mongodb-27017.sock
文件就是当前用户的权限(如果当前用户是root,那么该文件就是root权限)。 mongodb-27017.sock
文件的权限不是 mongodb 的话,后面就会有权限问题的报错,所以这里启动 mongod 线程要使用 mongodb 用户。
如果这里没有使用 mongodb 用户操作,那么就需要把 /tmp
目录下的 mongodb-27017.sock
文件改成 mongodb 的权限:
[root@localhost mongodb]# chown mongodb:mongodb /tmp/mongodb-27017.sock
通过 ps -ef|grep mongo
可看到 mongod 线程已将在运行了,要想使用MongDB,还需要打开MongoDB的客户端,客户端是 bin
目录下的 mongo
文件:
打开MongoDB客户端:
[root@localhost mongodb]# ./bin/mongo
MongoDB shell version: 3.0.6
connecting to: test
Server has startup warnings:
2019-12-03T10:29:41.007+0800 I STORAGE [initandlisten]
2019-12-03T10:29:41.007+0800 I STORAGE [initandlisten] ** WARNING: Readahead for /usr/local/env/mongodb/data is set to 4096KB
2019-12-03T10:29:41.007+0800 I STORAGE [initandlisten] ** We suggest setting it to 256KB (512 sectors) or less
2019-12-03T10:29:41.007+0800 I STORAGE [initandlisten] ** http://dochub.mongodb.org/core/readahead
2019-12-03T10:29:41.092+0800 I CONTROL [initandlisten]
2019-12-03T10:29:41.092+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-12-03T10:29:41.092+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-12-03T10:29:41.092+0800 I CONTROL [initandlisten]
2019-12-03T10:29:41.092+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-12-03T10:29:41.092+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-12-03T10:29:41.092+0800 I CONTROL [initandlisten]
>
至此,便可以正常使用了。
退出MongoDB客户端:
exit
exit
命令退出了MongoDB客户端,但是MongoDB的线程还在运行,要想彻底关掉MongoDB的线程,需要执行下面的命令。
关闭MongoDB,该命令同 kill -9 线程ID
一样:
[root@localhost mongodb]# ./bin/mongod --journal --shutdown -f etc/mongo.cfg
十步杀一人,千里不留行
事了拂衣去,深藏身与名
–end–