资讯动态

CentOS 7.x 搭建 MongoDB 3.4 并设置用户

发布时间:2026/9/29 2:09:37 来源:尧图企业网站定制
MongoDB 是一款高性能的 NoSQL 数据库被广泛应用于大数据存储、日志分析和 Web 开发中。在 CentOS 系统上部署 MongoDB 需要正确配置存储库、安装数据库、启用远程访问并进行权限管理。本指南详细介绍了MongoDB 安装、远程连接配置、权限设置以及用户管理帮助开发者快速搭建稳定、安全的 MongoDB 运行环境。文章目录安装配置流程MongoDB远程连接MongoDB权限设置MongoDB重置用户密码总结安装配置流程首先需要搭建MongoDB的环境。修改yum包管理配置执行命令vi /etc/yum.repos.d/mongodb-org-3.4.repo这将自动创建一个名为mongodb-org-3.4.repo的文件vi/etc/yum.repos.d/mongodb-org-3.4.repo复制以下配置信息到文件中。[mongodb-org-3.4]: 这是存储库的名称被唤作mongodb-org-3.4。nameMongoDB Repository: 这是存储库的描述被设置为MongoDB Repository。baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/:baseurl定义了存储库的URL。这是用来安装和更新软件包的源。gpgcheck0: 这行表示GPG签名检查被禁用。如果设置为1Yum将会检查每个包的签名是否有效。enabled1: 这行表示此存储库被启用。如果设置为0则存储库被禁用Yum将不会使用它来安装和更新软件包。[mongodb-org-3.4] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck0 enabled1安装MongoDB使用以下命令yum install -y mongodb-org一路选择yes来安装MongoDB.yuminstall-ymongodb-org使用systemctl start mongod.service启动MongoDB服务。systemctl start mongod.service使用systemctl stop mongod.service停止MongoDB服务。systemctl stop mongod.service使用systemctl restart mongod.service重启MongoDB服务。systemctl restart mongod.service使用systemctl enable mongod.service设置MongoDB开机启动。systemctlenablemongod.serviceMongoDB远程连接为了能够远程连接MongoDB需要进行以下配置修改MongoDB配置文件。执行命令vi /etc/mongod.conf打开配置文件。vi/etc/mongod.conf在配置文件中修改以下内容net: 这个关键字用于定义与网络相关的配置。port: 27017: 这一行定义了数据库监听的端口号27017 是 MongoDB 的默认端口。bindIp: 127.0.0.1, 阿里云内网地址: 这一行定义了数据库可以接受的 IP 地址通常为服务器的 IP 地址。这里包括了127.0.0.1即本地回环地址以及一个阿里云的内网地址。具体为何要使用内网地址可能与具体的网络配置和安全策略有关。改为外网地址会报错可能是因为该地址不在数据库的允许列表中。bindIp: 0.0.0.0, 腾讯云内网地址: 这一行同样定义了数据库可以接受的 IP 地址包括了0.0.0.0表示接收任何来源的连接和一个腾讯云的内网地址。这里使用内网地址的原因和上面的情况相同。net: port: 27017 bindIp: 127.0.0.1, 阿里云内网地址具体为何内网地址不明改为外网会报错 bindIp: 0.0.0.0, 腾讯云内网地址具体为何内网地址不明改为外网会报错使用systemctl restart mongod.service重启MongoDB服务器。systemctl restart mongod.service最后确保在云服务器上开放27017端口。MongoDB权限设置在MongoDB中设置权限可以保证数据库的安全性。进入Mongodb创建超级用户。mongo这个命令是用于启动MongoDB的命令行界面。use admin这个命令是切换到admin数据库。在MongoDB中admin数据库通常用于存储全局设置和管理员用户。db.createUser(...)这是一个在当前数据库在这个情况下是admin数据库中创建新用户的命令。这个命令需要一个包含新用户详细信息的JSON对象作为参数。这个JSON对象包含以下字段user: 这个字段表示用户名。pwd: 这个字段表示用户的密码。roles: 这个字段是一个数组包含了用户的角色。在这个例子中用户被赋予了userAdminAnyDatabase角色这个角色允许用户对所有数据库进行用户管理的操作。角色被指定给admin数据库。mongo# 进入数据库use admindb.createUser({user:用户名, pwd:密码, roles:[{role:userAdminAnyDatabase, db:admin}]})使用db.auth进行身份验证。在括号中用户名和密码是你需要提供的用户凭证。如果身份验证成功命令会返回 1。如果失败则返回 0。db.auth(用户名,密码)给用户分配对应数据库的权限。db.grantRolesToUser: 这是MongoDB中的一个方法用于为特定用户授予一组角色。用户名: 这是要授予角色的用户的用户名。[{ role: 权限内容, db: 库名 }]: 这是一个对象数组每个对象包含了要授予用户的角色和数据库名称。在这个例子中我们只有一个对象。role: 权限内容: 这定义了要授予用户的角色。例如如果你想让用户有读写权限那么权限内容可能会是readWrite。db: 库名: 这定义了角色应用的数据库名称。例如如果你想在test数据库上应用这个角色那么库名就应该是test。db.grantRolesToUser(用户名,[{role:权限内容, db:库名}])其中权限内容可以是read或readWrite。MongoDB重置用户密码如果需要重置MongoDB用户密码。执行命令vim /etc/mongod.conf打开MongoDB的配置文件注释掉security两行配置vim/etc/mongod.conf启动和停止MongoDB服务根据你的操作系统版本选择对应的命令CentOS 7启动systemctl mongod start和停止systemctl mongod stop命令。systemctl mongod start systemctl mongod stopCentOS 6启动service mongod start和停止service mongod stop命令。servicemongod startservicemongod stop删除并重新添加用户。use admin切换到名为admin的数据库。db.system.users.find()查询admin数据库下的system.users集合中的所有记录通常这些记录是数据库的用户信息。db.system.users.remove({})删除system.users集合中的所有记录也就是删除所有用户信息。db.createUser({user: , pwd: , roles: [{ role: root, db: admin }]})在当前数据库创建一个新用户需要填写用户名和密码而且这个用户被赋予admin数据库的root角色。use admin db.system.users.find()db.system.users.remove({})db.createUser({user: , pwd: , roles:[{role:root, db:admin}]})总结本文提供了MongoDB 在 CentOS 上的安装和配置方案通过正确的配置开发者可以确保 MongoDB 在服务器上稳定运行并通过权限管理提升数据库的安全性。此外还提供了如何在 CentOS 7 和 CentOS 6 上启动/停止 MongoDB帮助用户适应不同的系统环境。希望本指南能够帮助开发者快速上手 MongoDB提高数据库管理效率。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑