MongoDB 中的安装和配置
以下是每个主题的详细描述:
1. 如何在 Windows/Linux/Mac 上安装 MongoDB?
**视窗**:
从 MongoDB 官方网站下载 MongoDB 社区服务器 MSI 安装程序。运行安装程序并按照安装向导,选择完整安装和可选的 MongoDB Compass。将 MongoDB 配置为 Windows 服务(可选)。将 MongoDB 二进制文件目录添加到系统的 PATH 以供命令行使用。**Linux**:
导入 MongoDB 公共 GPG 密钥。将 MongoDB 存储库添加到您的包管理器。更新包索引并使用发行版的包管理器安装 MongoDB(例如,Ubuntu 的 apt,CentOS 的 yum)。使用 sudo systemctl start mongod 启动 MongoDB 服务。**苹果**:
使用 Homebrew 安装 MongoDB。运行 brew tap mongodb/brew,然后运行 brew install mongodb-community@。使用 brew 服务启动 MongoDB,启动 mongodb/brew/mongodb-community。2.mongod 命令的用途是什么?
mongod 命令用于启动 MongoDB 服务器(守护进程)。它初始化数据库引擎并开始在默认端口(27017)上监听客户端连接。常用选项:--dbpath:指定MongoDB存储数据的目录。--logpath:指定日志文件位置。--port:为服务器设置自定义端口。例子:
mongod --dbpath /data/db --logpath /var/log/mongodb/mongod.log
3.讲解MongoDB中的配置文件。
MongoDB 使用 YAML 格式的配置文件 (mongod.conf) 来定义服务器行为。常见的配置选项包括:存储:数据文件路径(storage.dbPath)。网络:端口号和绑定 IP 地址(net.port、net.bindIp)。安全:身份验证和访问控制设置(security.authorization)。复制:副本集设置(replication.replSetName)。示例“mongod.conf”:
storage:
dbPath: /var/lib/mongo
net:
port: 27017
bindIp: 127.0.0.1
security:
authorization: enabled
使用此文件运行 MongoDB:
mongod --config /etc/mongod.conf
4.MongoDB 的默认端口是什么?
27017:MongoDB 客户端连接的默认端口。27018:MongoDB 作为副本集成员运行时的默认端口。27019:MongoDB 在分片集群中使用时的默认端口。5.如何保护 MongoDB 实例?
启用身份验证:使用 db.createUser() 添加具有适当角色的用户。在配置文件中启用身份验证:security: authorization: enabled绑定 IP 地址:限制 MongoDB 仅监听特定 IP(例如,127.0.0.1)。使用防火墙:阻止对 MongoDB 端口的未经授权的访问。加密数据:使用 TLS/SSL 加密通信。对敏感信息启用静态数据加密。定期更新:保持 MongoDB 为最新版本,以防范已知漏洞。6.MongoDB 中的副本集是什么?
副本集是一组维护相同数据的 MongoDB 服务器,提供冗余和高可用性。组件:主节点:处理写入操作。次节点:从主节点复制数据并可处理读取查询。仲裁者:用于在选举期间打破平局的轻量级成员。要启动副本集:
使用 --replSet 选项启动 MongoDB。配置副本集:rs.initiate({
_id: "myReplicaSet",
members: [
{ _id: 0, host: "localhost:27017" },
{ _id: 1, host: "localhost:27018" },
{ _id: 2, host: "localhost:27019" }
]
});
7.如何在Docker容器中运行MongoDB?
拉取 MongoDB 镜像:docker pull mongo
运行 MongoDB 容器:docker run --name mongodb -d -p 27017:27017 -v /data/db:/data/db mongo
设置环境变量(例如身份验证):docker run --name mongodb -d -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password mongo
8. 解释 MongoDB Compass 及其用例。
MongoDB Compass 是 MongoDB 的图形用户界面 (GUI)。它提供了一种无需使用命令行即可与 MongoDB 交互的可视化方式。**用例**:
可视化查询构建:无需编写原始代码即可创建和运行查询。模式分析:了解和分析您的收藏的结构。性能监控:查看查询执行时间和数据库性能指标。数据管理:轻松添加、编辑和删除文档。9. 如何备份 MongoDB 数据库?
使用 mongodump:以 BSON 格式导出数据库。mongodump --db myDatabase --out /backup/directory
文件系统快照:如果数据库处于不活动状态,则创建数据目录的快照。自动备份:使用第三方工具或 MongoDB Ops Manager/Atlas 进行计划备份。10.如何在 MongoDB 中恢复数据?
使用 mongorestore:将 BSON 数据导回 MongoDB。mongorestore --db myDatabase /backup/directory/myDatabase
从快照恢复:用快照替换数据库文件。对于分片集群:使用从 mongos 实例获取的备份来保持一致性。这些要点共同涵盖了安装、配置和管理 MongoDB 的基本方面。