CentOS安装MongoDB
CentOS安装MongoDB

1. 安装并运行
在 CentOS 上安装 MongoDB,你可以按照以下步骤进行:
-
导入 MongoDB 的 GPG 密钥:
sudo rpm --import https://www.mongodb.org/static/pgp/server-5.0.asc -
创建 MongoDB 的 YUM 存储库文件
/etc/yum.repos.d/mongodb-org-5.0.repo,并使用文本编辑器打开它:sudo vi /etc/yum.repos.d/mongodb-org-5.0.repo在文件中添加以下内容:
[mongodb-org-5.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc保存并关闭文件。
-
安装 MongoDB:
sudo yum install -y mongodb-org -
启动 MongoDB 服务:
sudo systemctl start mongod -
设置 MongoDB 开机自启动:
sudo systemctl enable mongod -
检查 MongoDB 服务状态:
sudo systemctl status mongod如果一切正常,你应该会看到 MongoDB 服务已经运行。
-
默认情况下,MongoDB 监听在 127.0.0.1 的本地接口上。如果你需要允许远程访问,你需要编辑 MongoDB 配置文件
/etc/mongod.conf并更改bindIp部分以允许所需的 IP 地址。保存更改并重新启动 MongoDB 服务。 -
确保防火墙允许 MongoDB 的访问。如果使用默认的 MongoDB 端口 27017,请确保你的防火墙规则允许流量通过该端口。
现在,MongoDB 应该已经安装并在 CentOS 上运行。你可以使用 mongo 命令行客户端或其他 MongoDB 客户端工具连接到数据库。
2. 创建用户/密码
在默认配置下,MongoDB 安装后没有设置密码,因此可以直接通过没有身份验证的方式访问 MongoDB 数据库。这在生产环境中是不安全的,因此建议你设置 MongoDB 的身份验证密码以增强安全性。
以下是在 MongoDB 上设置密码的一般步骤:
-
启动 MongoDB 并连接到数据库服务器。
mongo -
切换到
admin数据库。你将在admin数据库中创建用户。use admin -
创建一个管理员用户,并为其分配密码。在这个例子中,我们创建一个用户名为
adminUser的管理员用户,你可以替换为你想要的用户名和密码。db.createUser({ user: "adminUser", pwd: "yourPassword", roles: ["root"] })请确保将
yourPassword替换为你选择的实际密码。 -
退出 MongoDB。
quit() -
编辑 MongoDB 配置文件
/etc/mongod.conf。sudo vi /etc/mongod.conf添加以下行以启用身份验证:
security: authorization: enabled保存并关闭文件。
-
重新启动 MongoDB 服务。
sudo systemctl restart mongod
现在,MongoDB 已经配置了身份验证,你需要提供用户名和密码才能访问数据库。在命令行上连接到 MongoDB 时,你可以使用 -u 和 -p 选项提供用户名和密码:
mongo -u adminUser -p yourPassword --authenticationDatabase admin
请确保将 adminUser 和 yourPassword 替换为你实际设置的用户名和密码。
3. 测试语句
要测试 MongoDB 数据库中的查询语句或执行其他操作,你可以使用 MongoDB 的命令行客户端 mongo。以下是一些示例查询语句和其他操作:
-
连接到 MongoDB 数据库:
mongo -u adminUser -p yourPassword --authenticationDatabase admin请将
adminUser和yourPassword替换为你的用户名和密码。 -
列出所有数据库:
show dbs -
切换到一个数据库:
use yourDatabase将
yourDatabase替换为你要使用的实际数据库。 -
插入文档到集合:
db.yourCollection.insert({ key: "value" })将
yourCollection替换为你要插入文档的集合名称,key和value替换为你要插入的字段和值。 -
查询集合中的文档:
db.yourCollection.find()这将返回集合中的所有文档。
-
更新文档:
db.yourCollection.update({ key: "value" }, { $set: { keyToUpdate: "newValue" } })这将更新匹配条件的文档中的字段值。
-
删除文档:
db.yourCollection.remove({ key: "value" })这将删除匹配条件的文档。
-
显示集合中的文档数:
db.yourCollection.count()这将返回集合中的文档数量。
4. 允许外网访问
要允许外网访问 MongoDB,你需要在 MongoDB 的配置文件中做一些更改,以及根据你的环境设置防火墙规则。以下是一般步骤:
-
编辑 MongoDB 配置文件:
打开 MongoDB 的配置文件,通常位于
/etc/mongod.conf。你可以使用文本编辑器打开它,例如:sudo vi /etc/mongod.conf -
在配置文件中找到
bindIp配置项。默认情况下,它可能设置为127.0.0.1,这只允许本地访问。你需要更改它以允许外网访问。bindIp: 0.0.0.0这将允许 MongoDB 侦听所有网络接口上的连接。
请注意,将
bindIp设置为0.0.0.0可能会带来一定的安全风险,因为它会使 MongoDB 开放给所有的IP地址。因此,你应该采取其他措施来限制对 MongoDB 的访问,如设置身份验证和访问控制列表(ACL)。 -
保存并关闭配置文件。
-
重新启动 MongoDB 服务:
sudo systemctl restart mongod -
设置防火墙规则:
如果你的服务器上启用了防火墙(如Firewalld),你需要确保打开 MongoDB 的监听端口(默认是27017)以允许外部访问。你可以运行以下命令:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent sudo firewall-cmd --reload这将添加一个永久的规则,允许外部连接到 MongoDB 的端口。
现在,你的 MongoDB 服务器应该已经允许外部访问。但请注意,在将 MongoDB 公开到外部网络时,务必采取额外的安全措施,如配置身份验证、设置访问控制列表、定期备份数据以及监控数据库活动,以确保安全性和数据保护。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!