MongoDB的安装与基本配置
MongoDB是一种流行的NoSQL数据库,以其灵活性和可扩展性著称。下面从安装到基本配置,逐步介绍如何搭建MongoDB环境并开始使用。
下载与安装
MongoDB提供了社区版和企业版,社区版适合大多数开发场景。访问MongoDB官网下载对应操作系统的安装包。
Windows系统安装示例:
- 运行下载的
.msi
安装程序 - 选择"Complete"完整安装
- 取消勾选"Install MongoDB Compass"(可选图形界面工具)
- 点击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/
常见问题解决
连接被拒绝:
- 检查服务是否运行
- 检查防火墙设置
- 确认bindIp配置正确
认证失败:
- 确认用户名密码正确
- 检查认证数据库(authSource)参数
- 确认用户角色有足够权限
磁盘空间不足:
// 查看数据库大小
db.stats()
// 查看集合大小
db.collection.stats()
本站部分内容来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:cc@cccx.cn