MongoDB4.0在CentOS7上面的安装

安装MongoDB

  1. 配置yum
sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
  1. 安装MongoDB软件包
sudo yum install -y mongodb-org

出现了以下问题:html

获取 GPG 密钥失败:[Errno 14] curl#35 - "Cannot communicate securely with peer: no common encryption algorithm(s)."linux

这个问题缘由是curl下载https://www.mongodb.org/static/pgp/server-4.0.asc文件失败,致使密钥导入失败。解决办法就是手动导入GPG密钥,后从新安装:git

wget https://www.mongodb.org/static/pgp/server-4.0.asc
sudo rpm --import server-4.0.asc
sudo yum install -y mongodb-org

从新安装MongoDB无问题。github

运行MongoDB

准备工做

  1. ulimit配置 ulimit查看限制:
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 126964
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

推荐配置:mongodb

  • -f (file size): unlimited
  • -t (cpu time): unlimited
  • -v (virtual memory): unlimited [1]
  • -l (locked-in-memory size): unlimited
  • -n (open files): 64000
  • -m (memory size): unlimited [1] [2]
  • -u (processes/threads): 64000
  1. 路径配置 由于这里使用yum安装的方式安装的,默认下面的目录会自动建立,对应的用户和用户组也会自动建立:
  • /var/lib/mongo (the data directory)
  • /var/log/mongodb (the log directory)
  1. SELinux配置 若是里面没有使用yum安装MongoDB的默认文件夹或者MongoDB默认端口,则须要看这一节配置。这里咱们使用默认路径和默认端口,则无需配置SELinux。

运行程序

  1. 运行MongoDB
sudo service mongod start
  1. 验证MongoDB
sudo tail /var/log/mongodb/mongod.log
...
NETWORK  [initandlisten] waiting for connections on port 27017
...

这里咱们看到MongoDB正在使用27017端口就说明没有问题了。接下来,设置MongoDB随机启动:vim

sudo chkconfig mongod on
  1. 中止MongoDB
sudo service mongod stop
  1. 重启MongoDB
sudo service mongod restart
  1. 使用MongoDB
mongo
  1. MongoDB设置开机启动
sudo systemctl enable mongod.service

防火墙设置端口

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

建立管理员

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

去掉IP限制和启用验证

sudo vim /etc/mongod.conf

注释一行:centos

# bindIp: 127.0.0.1

添加配置:bash

security:
  authorization: 'enabled'

参考

相关文章
相关标签/搜索