• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

<二>MongoDB学习笔记–CentOS-7部署MongoDB

MongoDB eryajf 2周前 (07-06) 79°C 已收录 0个评论
本文预计阅读时间 14 分钟

1,部署

MongoDB 官网:https://www.mongodb.com/

各版本软件下载地址:https://www.mongodb.com/download-center/community?jmp=nav

1,安装前准备

在安装之前首先确认该版本软件是否支持你的操作系统。

更多详情查看:https://docs.mongodb.com/manual/installation/

Platform 4.0 Community & Enterprise 3.6 Community & Enterprise 3.4 Community & Enterprise 3.2 Community & Enterprise 3.0 Community & Enterprise
RHEL/CentOS 6.2 and later
RHEL/CentOS 7.0 and later

2,环境说明

系统环境说明:

[root@localhost ~]$cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

软件版本说明

本次使用的mongodb版本为:mongodb-linux-s390x-rhel72-4.0.10.tgz

3,部署 MongoDB

1,安装所需依赖

yum -y install libcurl openssl

2,下载所需包

[root@localhost src]$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.10.tgz

3,解压包

[root@localhost src]$ tar xf mongodb-linux-x86_64-rhel70-4.0.10.tgz

[root@localhost src]$ mv mongodb-linux-x86_64-rhel70-4.0.10 /usr/local/mongodb

4,创建数据存储目录和日志文件目录

mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs

5,编辑MongoDB启动配置文件

cd /usr/local/mongodb/bin

vim mongodb.conf

#数据存储目录
dbpath=/usr/local/mongodb/data/db
#日志文件目录
logpath=/usr/local/mongodb/logs/mongodb.log
#后台运行
fork=true
auth=true
bind_ip=0.0.0.0

参数说明:

参数 参数说明
–dbpath 数据存放路径
–logpath 日志文件路径
–logappend 日志输出方式
–port 启用端口号
–fork 在后台运行
–auth 是否需要验证权限登录 (用户名和密码)
–bind_ip 限制访问的 ip
–shutdown 关闭数据库

6,MongoDB 的可执行文件位于 bin 目录下,需要将其添加到 PATH 路径中

vim /etc/profile

export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin   #末尾处添加

source /etc/profile    #重新加载环境变量

7,启动MongoDB

cd /usr/local/mongodb/bin
mongod -f mongodb.conf

8,访问

[root@localhost ~]$mongo
MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cdd40824-7611-41cb-a3ab-ef737a82068d") }
MongoDB server version: 4.0.10
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
>

[root@localhost bin]$mongod -f mongodb.conf --shutdown  #关闭服务

9,使用脚本加入开机自启

给系统添加MongoDB管理脚本。

cat > /usr/lib/systemd/system/mongod.service << EOF
[Unit]
Description=MongoDB database server
After=network.target

[Service]
Type=forking
#PIDFile=/home/dp/data/mongodb/pid
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

然后加载启动。

[root@localhost ~]$systemctl daemon-reload

[root@localhost ~]$systemctl start  mongod

[root@localhost ~]$systemctl status  mongod
● mongod.service - MongoDB database server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-07-03 11:41:13 CST; 1min 29s ago
 Main PID: 18489 (mongod)
   CGroup: /system.slice/mongod.service
           └─18489 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf

Jul 03 11:41:12 localhost.localdomain systemd[1]: Starting MongoDB database server...
Jul 03 11:41:12 localhost.localdomain mongod[18487]: about to fork child process, waiting until server is ready for connections.
Jul 03 11:41:12 localhost.localdomain mongod[18487]: forked process: 18489
Jul 03 11:41:13 localhost.localdomain mongod[18487]: child process started successfully, parent exiting
Jul 03 11:41:13 localhost.localdomain systemd[1]: Started MongoDB database server.

[root@localhost ~]$systemctl enable  mongod
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.

这样就能够实现比较简单的管理了。

2,管理 MongoDB

1,数据库的启动与关闭

启动:mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongodb.log --port=27017 --logappend --fork
关闭:mongod --shutdown  --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongodb.log --port=27017 --logappend --fork

2, 参数说明:

参数 参数说明
–dbpath 数据存放路径
–logpath 日志文件路径
–logappend 日志输出方式
–port 启用端口号
–fork 在后台运行
–auth 是否需要验证权限登录 (用户名和密码)
–bind_ip 限制访问的 ip
–shutdown 关闭数据库

3,使用配置文件的方式管理数据库

1,普通格式配置文件

[mongod@MongoDB conf]$ vim mongod1.conf 
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/log/mongodb.log
port=27017
logappend=1
fork=1

使用配置文件时的启动与关闭:

启动:mongod -f mongod1.conf 
关闭:mongod -f mongod1.conf  --shutdown

2,YAML 格式配置文件(官方推荐使用)

[mongod@MongoDB conf]$ cat  mongod.conf 
systemLog:
   destination: file
   path: "/usr/local/mongodb/log/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
   dbPath: "/usr/local/mongodb/data"
processManagement:
   fork: true
net:
   port: 27017

注:mongod 进程收到 SIGINT 信号或者 SIGTERM 信号,会做一些处理

  • 关闭所有打开的连接
  • 将内存数据强制刷新到磁盘
  • 当前的操作执行完毕
  • 安全停止

3,切忌 kill -9

如果使用 kill -9 直接关闭数据库,可能会造成数据丢失,数据文件损失等风险。

可通过如下安全的方式进行关闭。

$ kill -2 PID
  原理:-2表示向mongod进程发送SIGINT信号。
$ kill -4 PID
  原理:-4表示向mognod进程发送SIGTERM信号。

当然也可以通过使用systemctl stop mongod来关闭数据库。

4,客户端连接工具

MongoDB有一个相当友好的客户端管理工具,这里我推荐使用 robo,可以通过如下地址下载使用。

参考:http://t.cn/AiOcP9Cy


weinxin
扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明<二>MongoDB学习笔记–CentOS-7部署MongoDB
喜欢 (0)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!

您必须 登录 才能发表评论!