CentOS安装使用MongoDB的最简单便捷方法

首先官网下载Mongo

MongoDB官方网站下载页面
CentOS安装使用MongoDB的最简单便捷方法在里面选择对应的系统和需要的软件版本进行下载…

方法二:YUM安装(最简单便捷)

首先我们需要配置MongoDB的yum安装源

sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo

没有这个文件会创建一个新文件

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

这里面可以更改软件的版本,以3.4为例
RHEL7.0的系统对应的路径就是
https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.1/x86_64/
关闭SELINUX

sudo vi /etc/sysconfig/selinux 

      2 # This file controls the state of SELinux on the system.
      3 # SELINUX= can take one of these three values:
      4 #     enforcing - SELinux security policy is enforced.
      5 #     permissive - SELinux prints warnings instead of enforcin        g.
      6 #     disabled - No SELinux policy is loaded.
      7 SELINUX=disabled
      8 # SELINUXTYPE= can take one of these two values:
      9 #     targeted - Targeted processes are protected,
     10 #     mls - Multi Level Security protection.
     11 SELINUXTYPE=targeted

重新启动

sudo reboot

开始yum安装MongoDB

sudo yum install -y mongodb-org

安装完成后,查询安装结果

rpm -qa | grep mongo

mongodb-org-mongos-3.4.18-1.el6.x86_64
mongodb-org-server-3.4.18-1.el6.x86_64
mongodb-org-shell-3.4.18-1.el6.x86_64
mongodb-org-tools-3.4.18-1.el6.x86_64
mongodb-org-3.4.18-1.el6.x86_64

查询Mongo的配置文件路径mongod.conf(一般在/etc下)

rpm -ql mongodb-org-server-3.4.18-1.el6.x86_64


/etc/init.d/mongod
/etc/mongod.conf
/etc/sysconfig/mongod
/usr/bin/mongod
/usr/share/doc/mongodb-org-server-3.4.18
/usr/share/doc/mongodb-org-server-3.4.18/GNU-AGPL-3.0
/usr/share/doc/mongodb-org-server-3.4.18/MPL-2
/usr/share/doc/mongodb-org-server-3.4.18/README
/usr/share/doc/mongodb-org-server-3.4.18/THIRD-PARTY-NOTICES
/usr/share/man/man1/mongod.1
/var/lib/mongo
/var/log/mongodb
/var/log/mongodb/mongod.log
/var/run/mongodb

修改mongod.conf文件
注释掉bindIp,如果不注释掉其他机器不能访问进去,相当于防火墙一样

sudo vi /etc/mongod.conf 

     10   path: /var/log/mongodb/mongod.log
     11 
     12 # Where and how to store data.
     13 storage:
     14   dbPath: /mon
     15   journal:
     16     enabled: true
     17 #  engine:
     18 #  mmapv1:
     19 #  wiredTiger:
     20 
     21 # how the process runs
     22 processManagement:
     23   fork: true  # fork and run in background
     24   pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
     25 
     26 # network interfaces
     27 net:
     28   port: 27017
     29  # bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.
     30 
     31 
     32 #security:

启动MongoDB的服务mongod就可以进入mongo的shell了

sudo service mongod start

sudo service mongod start
Starting mongod:                  [  OK  ]

sudo service mongod status
mongod (pid 1863) is running...

mongo




MongoDB shell version v3.4.18
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.18
Server has startup warnings: 
2019-01-22T14:57:44.783+0800 I STORAGE  [initandlisten] 
2019-01-22T14:57:44.787+0800 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-01-22T14:57:44.788+0800 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-01-22T14:57:52.108+0800 I CONTROL  [initandlisten] 
2019-01-22T14:57:52.108+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-01-22T14:57:52.108+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-01-22T14:57:52.108+0800 I CONTROL  [initandlisten] 
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] 
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] 
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] 
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
2019-01-22T14:57:52.109+0800 I CONTROL  [initandlisten] 
> 


> show dbs
admin  0.000GB
local  0.000GB
test   0.000GB
> use admin
switched to db admin
> db.dbname.system.namespace
admin.dbname.system.namespace
> db.createCollection("try")
{ "ok" : 1 }
> db.try.insert({"name":"小明","age":18})
WriteResult({ "nInserted" : 1 })
> db.try.find()
{ "_id" : ObjectId("5c46bfc7c34a949837db2df8"), "name" : "小明", "age" : 18 }
>