Linux 下 MongoDB 数据库的安装和配置、启动和停止

查看 30|回复 1
作者:tracese   

简介:本文详细介绍了在Linux Centos7环境下MongoDB数据库的安装和配置、启动和停止,相关步骤主要参考了互联网上的教程以及MongoDB数据库相关书籍,希望能够对初学MongoDB的小伙伴有一定帮助。
一、下载并安装MongoDB数据库
MongoDB数据库的下载地址为:

https://www.mongodb.com/try/download/community
打开后界面如下,选择自己需要安装的版本以及依赖的环境

这里我们选择最新的版本,Package选择TGZ,如果后续需要用到MongoDB Database Tools,可以选择MongoDB 4.4以下版本,或者后续单独下载MongoDB Database Tools。
下载MongoDB数据库安装包
直接下载
先到官网下载压缩包 mongodb-linux-x86_64-rhel70-5.0.9.tgz,并通过Xftp文件传输软件将压缩包上传到 Linux 上,建议目录为:/Apps,本文MongoDB数据库相关目录如下图所示:

远程网络下载
在Linux平台上打开终端,应用 Centos中网络下载的方式下载MongoDB的安装包
[roothome.php?mod=space&uid=317486 ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.9.tgz
解压文件夹
tar -zxvf mongodb-linux-x86_64-rhel70-5.0.9.tgz
设置MongoDB程序存放目录
//创建目录/Apps
[roothome.php?mod=space&uid=1107159 trace]# mkdir /Apps
// 将解压后的mongodb文件夹移至/Apps下
[root@szq trace]# mv mongodb-linux-x86_64-rhel70-5.0.9 /Apps
// 将mongodb-linux-x86_64-rhel70-5.0.9重命名为mongo            
[root@szq trace]# mv /Apps/mongodb-linux-x86_64-rhel70-5.0.9 /Apps/mongo  
设置数据文件存放目录及log文件
//数据文件存放目录
[root@trace ~]# mkdir -p /data/db
//日志文件存储目录
[root@trace ~]# mkdir -p /Apps/mongo/logs
//创建日志文件 mongodb.log
[root@trace ~]# touch /Apps/mongo/logs/mongodb.log
启动MongoDB服务
[root@trace ~]# /Apps/mongo/bin/mongod --dbpath /data/db --logpath /Apps/mongo/logs/mongodb.log
客户端连接验证
新打开一个终端,输入:/Apps/mongo/bin/mongo
[root@trace ~]# /Apps/mongo/bin/mongo
如果出现如下提示,说明MongoDB数据库已经安装成功

查看MongoDB日志文件
查看/Apps/mongo/logs/mongodb.log文件,即可对MongoDB的运行状况进行查看或分析
[root@trace ~]# cd /Apps/mongo/logs
[root@trace logs]# ll
总用量 244
-rw-------. 1 root root 192515 7月   6 12:58 mongodb.log
-rw-r--r--. 1 root root      0 7月   5 17:31 mongodb.log.2022-07-05T09-33-59
二、配置
环境变量设置
配置系统环境变量
vim /etc/profile
在文件中添加以下配置
export MONGODB_HOME=/Apps/mongo
export PATH=$MONGODB_HOME/bin:$PATH
退出保存后,输入以下命令使环境变量生效
source /etc/profile
验证环境变量是否配置成功
[root@trace ~]# echo $PATH
/Apps/mongo/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
参考:Linux PATH 作用以及查看和修改方法
配置文件
因为我们下载的是TGZ文件,需要自己创建MongoDB数据库的配置文件

新建并修改配置文件
vim /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:
   # 将 MongoDB 发送所有日志输出的目标指定为文件
   destination: file
   # mongod 或 mongos 应向其发送所有诊断日志记录信息的日志文件的路径
   path: "/Apps/mongo/logs/mongodb.log"
   # 当 mongos 或 mongod 实例重新启动时,mongos 或 mongod 会将新条目附加到现有日志文件的末尾。
   logAppend: true
# Where and how to store data.
storage:
   # The directory where the mongod instance stores its data.
   dbPath: "/data/db"
   # 启用或禁用持久性日志以确保数据文件保持有效和可恢复
   journal:
      enabled: true
processManagement:
   # 启用在后台运行 mongos 或 mongod 进程的守护程序模式
   fork: true
net:
   # 服务实例绑定的IP,0.0.0.0表示监听所有(所有主机都可以访问)
   bindIp: 0.0.0.0
   port: 27017
详细配置项内容可以参考官方文档
配置防火墙
如果远程连接不上,需要配置防火墙放行,或直接关闭linux防火墙
#查看防火墙状态
systemctl status firewalld
#临时关闭防火墙
systemctl stop firewalld
#开机禁止启动防火墙
systemctl disable firewalld
三、启动数据库
命令行方式启动
环境变量配置成功后,可以直接使用mongod命令,无需进入/Apps/mongo/bin目录下。默认端口27017
[root@trace ~]# mongod --dbpath /data/db --logpath /Apps/mongo/logs/mongodb.log
配置文件方式启动(推荐)
mongod -f /etc/mongod.conf
Daemon 方式启动
[root@trace ~]# mongod --dbpath /data/db --logpath /Apps/mongo/logs/mongodb.log --fork
提示:--fork has to be used with --logpath
四、停止数据库
标准关闭方法
如果处理连接状态,那么直接可以通过在admin库中发送 db.shutdownServer() 指令去停止
主要的操作步骤如下:
//切换到admin库
//切换到admin库
> use admin;
switched to db admin
//关闭服务
> db.shutdownServer()
server should be down...
快速关闭方法(快速、简单,数据可能会出错)
找到实例进程后,通过发送 kill -2 PID 或 kill -15 PID 来停止进程
[root@trace ~]# ps aux|grep mongod|grep -v grep
root       5111  0.8  3.7 1599464 76068 ?       Sl   14:16   0:00 mongod --dbpath /data/db --logpath /Apps/mongo/logs/mongodb.log --fork
//通过进程编号关闭节点
[root@trace ~]# kill -2 5111
注意:不要使用 kill -9 IPD 来杀死MongoDB进程,这样可能会导致MongoDB的数据损坏。
补充措施
如果数据损坏,则可进行如下操作:
1)删除lock文件
rm -f /data/db/*.lock
2)修复数据
/Apps/mongo/bin/mongod --repair --dbpath=/data/db

数据库, 文件

lf1988103   
问个问题 比如目前楼主的 mongodb 是通过网络下载的包安装的,比如后期又要通过docker安装 这部分已经存在的数据 怎么迁移到docker里面的mongo服务呢,比如4.0版本的数据 怎么迁移到5.0
您需要登录后才可以回帖 登录 | 立即注册

返回顶部