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'

參考

相關文章
相關標籤/搜索