mongo的使用
在 CentOS 7 中重新安装 MongoDB 的步骤如下。可以通过卸载现有的 MongoDB,然后重新安装最新版本来完成。以下是详细的操作步骤:
1. 卸载现有的 MongoDB
首先,停止 MongoDB 服务并卸载所有相关的包:
sudo systemctl stop mongod
sudo yum remove mongodb-org
清理数据和日志目录(注意:这会删除所有 MongoDB 数据,请确保先备份重要数据):
sudo rm -rf /var/log/mongodb
sudo rm -rf /var/lib/mongo
2. 配置 MongoDB YUM 源
创建 /etc/yum.repos.d/mongodb-org-6.0.repo
文件,并将以下内容写入其中:
sudo nano /etc/yum.repos.d/mongodb-org-6.0.repo
文件内容如下(6.0 是当前推荐的 MongoDB 版本,可以根据需要修改):
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
保存并退出。
3. 安装 MongoDB
使用 yum
安装 MongoDB:
sudo yum install -y mongodb-org
这将安装以下组件:
mongodb-org-server
:MongoDB 服务。mongodb-org-shell
:MongoDB Shell 客户端。mongodb-org-mongos
:MongoDB 路由服务。mongodb-org-tools
:用于备份、恢复等操作的工具。
4. 启动和配置 MongoDB 服务
安装完成后,启动 MongoDB 服务并设置开机启动:
sudo systemctl start mongod
sudo systemctl enable mongod
5. 检查 MongoDB 状态
检查 MongoDB 服务是否正常运行:
sudo systemctl status mongod
如果状态显示为 active (running)
,则表示 MongoDB 安装和启动成功。
6. 配置防火墙(可选)
如果你需要远程连接 MongoDB,需要开放 27017 端口:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
7. 验证安装
启动 MongoDB Shell,验证 MongoDB 是否能够正常工作:
mongo
进入 MongoDB Shell 后,可以输入以下命令查看数据库列表:
show dbs
8. 重新安装 MongoDB 数据库(如果需要)
如果你只是想清空 MongoDB 数据库而不需要卸载 MongoDB,可以使用以下方法来删除所有数据库:
mongo
use admin
db.shutdownServer()
sudo rm -rf /var/lib/mongo/*
sudo systemctl start mongod
这样,你的 MongoDB 数据库将被完全重置,并且所有数据都被清空。
9. 其他注意事项
- 备份数据:在卸载之前,请务必备份重要的数据库数据,以防数据丢失。
- 调整配置文件:安装完成后,MongoDB 配置文件位于
/etc/mongod.conf
,可以根据需要调整监听地址、端口号等设置。
如果按照以上步骤操作,你应该能够顺利地在 CentOS 7 上重新安装 MongoDB。
在 MongoDB 中,为了安全性,推荐设置管理员账号密码并启用用户身份验证。以下是如何在 MongoDB 中创建初始管理员账户并进行登录的详细步骤:
1. 启动 MongoDB
首先,确保 MongoDB 服务正在运行:
sudo systemctl start mongod
检查服务状态:
sudo systemctl status mongod
2. 进入 MongoDB Shell
使用默认配置连接到 MongoDB Shell:
mongo
3. 切换到 admin
数据库
在 MongoDB Shell 中输入以下命令,切换到 admin
数据库:
use admin
4. 创建管理员账户
在 admin
数据库中创建管理员用户(将 <username>
替换为你的用户名,将 <password>
替换为你的密码):
db.createUser({
user: "<username>",
pwd: "<password>",
roles: [ { role: "root", db: "admin" } ]
})
例如,如果要创建用户名为 admin
,密码为 yourpassword
的用户,可以使用:
db.createUser({
user: "admin",
pwd: "yourpassword",
roles: [ { role: "root", db: "admin" } ]
})
成功后,MongoDB 会返回以下提示信息,表示用户创建成功:
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }
5. 启用 MongoDB 的身份验证
退出 MongoDB Shell:
exit
编辑 MongoDB 配置文件 /etc/mongod.conf
:
sudo nano /etc/mongod.conf
找到以下行,并取消注释(如果没有此行,则需要手动添加):
#security:
# authorization: "enabled"
将其改为:
security:
authorization: "enabled"
保存并退出编辑器。
6. 重启 MongoDB 服务
编辑配置文件后,重启 MongoDB 服务以启用身份验证:
sudo systemctl restart mongod
7. 使用管理员账户登录 MongoDB
MongoDB 启用身份验证后,你需要使用创建的管理员账户登录:
mongo -u "admin" -p "yourpassword" --authenticationDatabase "admin"
如果成功登录,你会看到 MongoDB Shell 的提示符:
MongoDB shell version v4.2.0
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&gssapiServiceName=mongodb
现在,你已经成功使用管理员账户登录到 MongoDB。
8. 创建其他用户(可选)
作为管理员登录后,可以在其他数据库中创建不同的用户。例如,要在 testdb
数据库中创建一个只读用户,可以使用以下命令:
use testdb
db.createUser({
user: "testUser",
pwd: "testPass",
roles: [ { role: "read", db: "testdb" } ]
})
这样,你就创建了一个只对 testdb
具有读权限的用户 testUser
。
9. 远程访问(可选)
如果你需要从远程服务器连接到 MongoDB,请确保 MongoDB 配置文件中允许所有 IP 连接。编辑 /etc/mongod.conf
,找到 bindIp
行并修改为 0.0.0.0
:
net:
bindIp: 0.0.0.0
然后重启 MongoDB:
sudo systemctl restart mongod
同时,为了安全性,可以考虑在防火墙中开放特定 IP 地址对 MongoDB 的访问权限。
10. 验证身份验证
你可以再次使用命令来验证用户身份登录:
mongo -u "<username>" -p "<password>" --authenticationDatabase "admin"
替换 <username>
和 <password>
为你创建的管理员用户名和密码。
11. 常见问题和注意事项
- 无法启动 MongoDB:如果配置文件语法不正确,可能会导致 MongoDB 服务无法启动。请检查
/etc/mongod.conf
是否符合 YAML 格式。 - 身份验证失败:确保你在
admin
数据库中创建了用户,并且登录时使用了正确的--authenticationDatabase
选项。
这样,管理员账户创建和 MongoDB 安全配置就完成了。现在,你可以在需要的数据库中创建更多用户并配置不同的权限。
原文地址:https://blog.csdn.net/weixin_44137441/article/details/142849532
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!