CentOS7安装MongoDB
一、首先在/etc/yum.repos.d/路劲下添加文件mongodb-org-3.4.repo,可以用vi命令创建,也可以SecureCRT的SFTP上传,内容如下。
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
在https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/的目录下可以查看其它版本。
二、执行安装命令
sudo yum install -y mongodb-org
三、修改配置文件并且启动MongoDB服务
其它文章说需要创建目录/data/db,mongo才能启动,根据下面的配置不需要设置此路劲。
将bindIp由127.0.0.1改为0.0.0.0,否则只有本机能够访问。
[x@localhost ~]$ cat /etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
#security:
# authorization: 'enabled'
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
四、在防火墙中开放对应的端口,重启防火墙
firewall-cmd --zone=public --add-port=27017/tcp --permanent
service firewalld restart
五、恭喜你,安装成功!
请注意在root权限下执行mongo命令。
[root@localhost x]# mongo
MongoDB shell version v3.4.14
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.14
Server has startup warnings:
2018-03-29T09:49:22.309-0400 I CONTROL [initandlisten]
2018-03-29T09:49:22.309-0400 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-03-29T09:49:22.309-0400 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-03-29T09:49:22.309-0400 I CONTROL [initandlisten]
2018-03-29T09:49:22.310-0400 I CONTROL [initandlisten]
2018-03-29T09:49:22.310-0400 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-03-29T09:49:22.310-0400 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-03-29T09:49:22.310-0400 I CONTROL [initandlisten]
2018-03-29T09:49:22.310-0400 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-03-29T09:49:22.310-0400 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-03-29T09:49:22.310-0400 I CONTROL [initandlisten]
2018-03-29T09:49:22.311-0400 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
2018-03-29T09:49:22.311-0400 I CONTROL [initandlisten]
> show dbs
admin 0.000GB
demo 0.004GB
local 0.000GB
test 0.000GB
>
六、创建管理员用户
mongo
use admin
db.createUser({user:"mongodb",pwd:"123456",roles:["root"]})
七、修改服务
vi /usr/lib/systemd/system/mongod.service
增加--auth
Environment="OPTIONS=-f /etc/mongod.conf --auth"
systemctl daemon-reload
systemctl restart mongod