安装配置
下载
此教程使用社区版,我们选择下载压缩包进行解压安装,然后完成基本配置,最后说说用户及权限管理。
社区版下载地址:https://www.mongodb.com/download-center#community
说明1-3的选择,1:由于我们是在Linux中安装所以此处当然选择Linux;2:我们使用的CentOS7,所以这里选择RHEL 7;3:点击Download(tgz)开始下载
安装
将我们刚刚下载好的压缩文件mongodb-linux-x86_64-amazon-3.6.2.tgz拷贝到任意目录(此处我拷贝到/home/setup),然后进行解压操作,解压完成后复制一份到/home目录下(我们安装的软件统一放在此目录方便管理),然后切换到我们刚才新复制的mongodb安装目录/home/mongodb-linux-x86_64-amazon-3.6.2,由于此目录下的bin目录存放着mongodb的全部命令脚本,所以需要赋予此目录执行权限
# tar -zxvf mongodb-linux-x86_64-amazon-3.6.2.tgz
# cp -r mongodb-linux-x86_64-amazon-3.6.2 /home/
# mongodb-linux-x86_64-amazon-3.6.2
# chmod -R 755 bin
创建mongodb相关数据文件目录
我们在mongodb的安装目录下创建一个data目录统一相关文件(不同文件再创建文件夹管理)
- 数据文件
创建db子文件夹存放mongodb数据库文件,全路径/home/mongodb-linux-x86_64-amazon-3.6.2/data/db
# cd /home/mongodb-linux-x86_64-amazon-3.6.2
# mkdir /data
# cd data
# mkdir /db
- 日志文件
创建db子文件夹存放mongodb的相关日志,全路径/home/mongodb-linux-x86_64-amazon-3.6.2/data/log
# mkdir /log
- 文件目录赋予写权限
由于所有类型文件都存在写入操作,所以数据存放目录/home/mongodb-linux-x86_64-amazon-3.6.2/data需要执行写操作权限
# chmod -R 777 /home/mongodb-linux-x86_64-amazon-3.6.2/data
配置
我们已经将安装的基础工作做完,本节我们进行基本配置,我们的配置文件统一创建在/home/mongodb-linux-x86_64-amazon-3.6.2/bin目录下
- 创建配置文件mongodb.conf
# vim /home/mongodb-linux-x86_64-amazon-3.6.2/bin/mongodb.conf
# 端口
port=27017
# 连接IP地址
bind_ip=192.168.1.200
# 数据库文件存放目录
dbpath=/home/mongodb-linux-x86_64-amazon-3.6.2/data/db
# 使用追加的方式写日志
logappend=true
# 后台进程运行
fork=true
# 日志文件存放路径
logpath=/home/mongodb-linux-x86_64-amazon-3.6.2/data/log/logs
完成配置后按ESC,:wq退出vim编辑。
注意,开启守护进程模式 fork 的时候,一定要设置log日志;
设置log日志要注意,logpath的路径一定要是文件路径,而不是文件夹路径。
运行
所有的mongodb操作命令脚本都在/home/mongodb-linux-x86_64-amazon-3.6.2/bin目录下
- 启动
# cd /home/mongodb-linux-x86_64-amazon-3.6.2/bin
# ./mongod -f mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 4949
child process started successfully, parent exiting
- 本地测试连接mongodb
# ./mongo 127.0.0.1
MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 3.6.2
Welcome to the MongoDB shell.
>
OK,连接成功,此时可以输入命令使用下mongodb,例如查看数据库命令:show dbs;
- 防火墙设置
# firewall-cmd --zone=public --add-port=27017/tcp --permanent
# firewall-cmd --permanent --query-port=27017/tcp
# firewall-cmd --reload
三条命令分别进行的操:开启端口 、查看端口、重启防火墙
- 配置系统开机启动文件
centos 7的开机启动跟之前版本的centos有很大不同。现在用 systemctl命令代替了之前的chkconfig 和 service 命令。
在系统服务目录下新建mongodb的启动服务,并给与754的权限。
# cd /lib/systemd/system
# vim mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/home/mongodb-linux-x86_64-amazon-3.6.2/bin/mongod -f /home/mongodb-linux-x86_64-amazon-3.6.2/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/home/mongodb-linux-x86_64-amazon-3.6.2/bin/mongod --shutdown -f /home/mongodb-linux-x86_64-amazon-3.6.2/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
切记,mongodb.service文件中的所有路径都必须是绝对路径
- 启动
# systemctl start mongodb.service
- 关闭
# systemctl stop mongodb.service
- 注册到开机启动
# systemctl enable mongodb.service
卸载
- 删除MongoDB相关安装包
$ yum erase $(rpm -qa | grep mongodb-org)
- 删除MongoDB数据库及日志文件
$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb