MongoDB是一个开源的文档型数据库,它可以存储和处理大量的非结构化数据。MongoDB的最新稳定版本是7.0,本文记录并分享下我在centos系统下mongodb的安装部署过程。
mongo的安装其实是很简单的,只需要yum包管理器直接在线安装就行
yum install -y mongodb-org
奈何的是centos安装好后默认yum是找不到mongo源的,需要先手动配置下
所以我们先配置yum源。你需要创建一个文件/etc/yum.repos.d/mongodb-org-7.0.repo,然后把以下内容复制到文件中:
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
这样yum就可以找到mongo源,进行安装了,我们重新
yum install -y mongodb-org
安装就完成了。
如果你想安装特定版本的MongoDB,你可以指定每个组件包的版本号,例如:
sudo yum install -y mongodb-org-7.0.2 mongodb-org-server-7.0.2 mongodb-org-shell-7.0.2 mongodb-org-mongos-7.0.2 mongodb-org-tools-7.0.2
注意,如果有新的版本可用,yum会自动升级这些包。如果你想防止意外升级,你可以在/etc/yum.conf文件中添加以下语句:
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
补充解释下以上的主要模块:
mongodb-org-server - 标准的MongoDB服务端程序(既守护程序),以及相应的init脚本和配置
mongodb-org-mongos - MongoDB Shard集群服务端程序(守护进程)
mongodb-org-shell - MongoDB shell,用于通过命令行与MongoDB交互
mongodb-org-tools - 包含一些用于恢复,导入和导出数据的基本工具,以及其他各种功能。
运行方法和大多数服务是一样的,使用systemctl命令来管理,例如:
sudo systemctl start mongod #启动MongoDB服务
sudo systemctl status mongod #查看MongoDB服务状态
sudo systemctl enable mongod #设置MongoDB服务开机自启动
sudo systemctl stop mongod #停止MongoDB服务
sudo systemctl restart mongod #重启MongoDB服务
默认情况下,MongoDB使用mongod用户运行,并使用以下目录:
/var/lib/mongo #数据目录
/var/log/mongodb #日志目录
如果你想使用其他目录,你需要修改/etc/mongod.conf文件中的storage.dbPath和systemLog.path字段,并确保mongod用户有访问权限。
说到conf文件,里面的主要参数作用如下:
systemLog #指定各种日志记录选项,解释如下:
destination #告诉MongoDB是将日志输出存储为文件或者是系统日志
logAppend #指定守护程序重新启动时是否将新日志记录附加到现有日志的末尾(而不是创建备份并在重新启动时启动新日志)
path #告诉服务端程序(守护进程)发送日志信息到某个位置(/var/log/mongodb/mongod.log默认情况下)
storage #设置MongoDB如何存储数据,设置如下:
dbPath #指示数据库文件的存储位置(默认:/var/lib/mongo)
journal.enabled #启用或禁用日志,以确保数据文件可以恢复
net #指定各种网络选项,具体如下:
port #是MongoDB服务端(守护)程序监听的端口
bindIP #指定MongoDB绑定的IP地址,因此它可以监听来自其他应用程序的连接
你可以使用mongo命令来连接本地的MongoDB服务,并执行各种操作,例如:
mongo #连接本地的MongoDB服务,默认端口是27017
show dbs #查看数据库列表
use test #切换到test数据库
db.users.insert({name: "laolitou", age: 999}) #插入一条文档到users集合中
db.users.find() #查询users集合中的所有文档
如果你想连接远程的MongoDB服务,你需要指定主机名和端口号,例如:
mongo 192.168.1.100:27017 #连接192.168.1.100上的MongoDB服务,端口号是27017
注意,默认情况下,MongoDB只绑定到本地主机网络接口,这意味着只有本地客户端可以连接。如果你想让远程客户端也能连接,你需要修改/etc/mongod.conf文件中的net.bindIp字段,并重启MongoDB服务。