阿里云主机折上折
  • 微信号
您当前的位置:网站首页 > MongoDB的安装与基本配置

MongoDB的安装与基本配置

作者:陈川 阅读数:22966人阅读 分类: MongoDB

MongoDB是一种流行的NoSQL数据库,以其灵活性和可扩展性著称。下面从安装到基本配置,逐步介绍如何搭建MongoDB环境并开始使用。

下载与安装

MongoDB提供了社区版和企业版,社区版适合大多数开发场景。访问MongoDB官网下载对应操作系统的安装包。

Windows系统安装示例

  1. 运行下载的.msi安装程序
  2. 选择"Complete"完整安装
  3. 取消勾选"Install MongoDB Compass"(可选图形界面工具)
  4. 点击Install开始安装
# Linux(Ubuntu)安装命令示例
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

服务启动与停止

安装完成后需要启动MongoDB服务。不同系统的启动方式有所差异。

Windows服务管理

# 启动服务
net start MongoDB

# 停止服务
net stop MongoDB

Linux系统服务命令

# 启动服务
sudo systemctl start mongod

# 设置开机自启
sudo systemctl enable mongod

# 查看服务状态
sudo systemctl status mongod

基本配置

MongoDB的配置文件通常位于/etc/mongod.conf(Linux)或安装目录下的bin/mongod.cfg(Windows)。主要配置项包括:

# 示例配置文件
systemLog:
  destination: file
  path: "/var/log/mongodb/mongod.log"
  logAppend: true

storage:
  dbPath: "/var/lib/mongodb"
  journal:
    enabled: true

net:
  port: 27017
  bindIp: 127.0.0.1  # 生产环境应限制访问IP

security:
  authorization: enabled  # 启用认证

用户与权限管理

启用认证前需要先创建管理员用户:

// 连接到MongoDB
use admin

// 创建管理员用户
db.createUser({
  user: "admin",
  pwd: "securepassword",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

创建数据库用户示例:

use mydb
db.createUser({
  user: "devuser",
  pwd: "devpassword",
  roles: [ { role: "readWrite", db: "mydb" } ]
})

连接数据库

安装配置完成后,可以通过多种方式连接MongoDB:

命令行连接

mongo -u devuser -p devpassword --authenticationDatabase mydb

Node.js连接示例

const { MongoClient } = require('mongodb');

async function main() {
  const uri = "mongodb://devuser:devpassword@localhost:27017/mydb?authSource=mydb";
  const client = new MongoClient(uri);
  
  try {
    await client.connect();
    console.log("Connected successfully to server");
    
    const database = client.db("mydb");
    const collection = database.collection("users");
    
    // 插入文档示例
    await collection.insertOne({ name: "Alice", age: 25 });
  } finally {
    await client.close();
  }
}

main().catch(console.error);

数据目录与日志

MongoDB运行需要指定的数据存储目录和日志文件:

  • 数据目录:默认在Linux上是/var/lib/mongodb,Windows上是C:\data\db
  • 日志文件:通常位于/var/log/mongodb/mongod.log(Linux)或安装目录下的log/mongod.log(Windows)

确保这些目录有正确的写入权限:

# Linux设置权限示例
sudo mkdir -p /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo mkdir -p /var/log/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb

性能调优

根据服务器配置调整MongoDB性能参数:

# 在配置文件中添加性能相关配置
storage:
  wiredTiger:
    engineConfig:
      cacheSizeGB: 2  # 根据服务器内存调整,建议不超过可用内存的50%

operationProfiling:
  slowOpThresholdMs: 100
  mode: slowOp

备份与恢复

基本的备份恢复操作:

# 备份整个数据库
mongodump --uri="mongodb://devuser:devpassword@localhost:27017/mydb" --out=/backup/

# 恢复数据库
mongorestore --uri="mongodb://devuser:devpassword@localhost:27017/mydb" /backup/mydb/

常见问题解决

连接被拒绝

  1. 检查服务是否运行
  2. 检查防火墙设置
  3. 确认bindIp配置正确

认证失败

  1. 确认用户名密码正确
  2. 检查认证数据库(authSource)参数
  3. 确认用户角色有足够权限

磁盘空间不足

// 查看数据库大小
db.stats()

// 查看集合大小
db.collection.stats()

本站部分内容来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:cc@cccx.cn

前端川

前端川,陈川的代码茶馆🍵,专治各种不服的Bug退散符💻,日常贩卖秃头警告级的开发心得🛠️,附赠一行代码笑十年的摸鱼宝典🐟,偶尔掉落咖啡杯里泡开的像素级浪漫☕。‌