CentOS 7 安装MongoDB 4.0

  • A+
所属分类:操作系统

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统,在高负载的情况下添加更多的节点,可以保证服务器性能。MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案,MongoDB 将数据存储为一个文档,数据结构由键值 (key=>value) 对组成,MongoDB 文档类似于 JSON 对象,字段值可以包含其他文档,数组及文档数组。

一、安装 MongoDB

当前最新稳定版本为4.0.9, 则选择安装最新稳定版的 MongoDB。(官网安装介绍说明

安装 MongoDB, 会安装软件包 mongodb-org 及其依赖包 mongodb-org-server、mongodb-org-mongos、mongodb-org-shell、mongodb-org-tools。

1、配置 MongoDB 的 yum 源

  1. vim /etc/yum.repos.d/mongodb-org-4.0.repo

创建 MongoDB 软件源文件 /etc/yum.repos.d/mongodb-org-4.0.repo,其内容为:

  1. [mongodb-org-4.0]
  2. name=MongoDB Repository
  3. baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
  4. gpgcheck=1
  5. enabled=1
  6. gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2、安装 MongoDB

更新 yum 缓存, 并安装 MongoDB

  1. yum update
  2. yum install -y mongodb-org

安装完成后,查看 MongoDB 安装位置  whereis mongod ,检查安装版本  mongod --version 

  1. 默认数据位置
  2. /var/lib/mongo
  3. 默认日志位置
  4. /var/log/mongodb
  5. 配置文件位置
  6. /etc/mongod.conf

3、修改配置文件

  1. vim /etc/mongod.conf

将  bindIp: 172.0.0.1  改为  bindIp: 0.0.0.0 ,这样可以使任意IP能链接数据库。

4、外网访问需要关闭防火墙

CentOS 7.0 默认使用的是 firewall 作为防火墙:

  1. sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
  2. sudo firewall-cmd --reload

如果你用的是 iptables 防火墙:

  1. vim /etc/sysconfig/iptables

在 iptables 文件添加 -A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT

(注意:-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT要加在-A INPUT -j REJECT --reject-with icmp-host-prohibited之前,不然启动无效)

重启 iptables

  1. service iptables restart

5、设置开机启动

  1. systemctl enable mongod

6、启动 MongoDB

  1. systemctl start mongod

  1. systemctl start mongod     // 开启mongod服务
  2. systemctl restart mongod  // 重启mongod服务
  3. systemctl stop mongod     // 停止mongod服务
  4. systemctl status mongod  // 查看mongod服务

二、卸载 MongoDB

1、关闭 MongoDB 服务

  1. systemctl stop mongod

2、删除安装包

  1. sudo yum erase $(rpm -qa | grep mongodb-org)

3、删除数据文件

  1. sudo rm -r /var/log/mongodb
  2. sudo rm -r /var/lib/mongo

三、服务启动异常问题

我在安装的时候遇到一个错误问题,错误信息如下:

1、查看一下 MongoDB 的 log 日志

  1. tail -f /var/log/mongodb/mongod.log

其中最关键的一句就是 Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted 没有权限。

2、查看一下 /tmp/mongodb-27017.sock 的读写权限

  1. ls -l /tmp/mongodb-27017.sock

3、发现该文件夹的所有者为 root

  1. srwx------ 1 root root 0 Mar 21 09:39 /tmp/mongodb-27017.sock

4、把所有者修改为 mongod

  1. chown mongod:mongod /tmp/mongodb-27017.sock

5、重新启动 mongo

  1. systemctl restart mongod

四、数据库管理工具

推荐使用Robo 3T(下载地址

博主只是一名前端的小白,只是把自己用到的知识分享一下,要是有什么不对的地方,欢迎大家提出~~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: