MongoDB在CentOS上安装与配置指南
MongoDB简介
MongoDB是一个开源的、面向文档的NoSQL数据库,广泛应用于需要高扩展性和灵活数据模型的场景,它使用JSON格式的数据存储方式,支持丰富的查询语言和索引功能,适用于各种现代应用开发需求。
环境准备
1. 系统要求
操作系统:CentOS 7或更高版本。
内存建议:至少2GB(推荐4GB及以上)。
存储空间:至少5GB可用磁盘空间。
2. 下载MongoDB安装包
可以从MongoDB官网下载最新的MongoDB社区版安装包:HTTPS://www.mongodb.com/try/download/community
wget https://fastdl.mongodb.org/linux/mongodblinuxx86_64rhel704.0.27.tgz
安装步骤
1. 解压安装包
将下载好的安装包上传到服务器,然后使用以下命令解压:
tar zxvf mongodblinuxx86_64rhel704.0.27.tgz mv mongodblinuxx86_64rhel704.0.27 /usr/local/mongodb
2. 创建数据和日志目录
进入解压后的目录,创建数据和日志文件夹并设置权限:
cd /usr/local/mongodb mkdir data log sudo chmod 777 data log
3. 配置环境变量
编辑/etc/profile
文件,添加如下内容:
export MONGODB_HOME=/usr/local/mongodb export PATH=$MONGODB_HOME/bin:$PATH source /etc/profile
4. 启动MongoDB服务
使用配置文件启动MongoDB服务:
mongod f /usr/local/mongodb/mongodb.conf
配置文件说明
MongoDB的配置文件通常位于/usr/local/mongodb/mongodb.conf
,以下是一些常用配置项:
配置项 | 说明 |
dbpath | 数据文件存放路径,如:/data/db |
logpath | 日志文件存放路径,如:/var/log/mongodb/mongod.log |
logappend | 是否追加日志,默认为true |
port | MongoDB监听的端口号,默认为27017 |
bind_ip | 绑定IP地址,设置为0.0.0.0表示允许任何IP连接 |
auth | 是否启用认证,默认为false |
用户角色和权限管理
1. 创建管理员用户
启动MongoDB后,通过mongo Shell连接到数据库并创建管理员用户:
mongo use admin db.createUser({user: "root", pwd: "password", roles: [{role: "root", db: "admin"}]})
2. 验证用户
切换到需要管理的用户并验证:
use somedb db.auth("username", "password")
其他配置和管理
1. 开放端口
如果需要外部访问MongoDB,需要开放防火墙端口:
firewallcmd zone=public addport=27017/tcp permanent firewallcmd reload
2. 开机自启动
创建启动脚本并设置为开机自启动:
groupadd mongodb useradd g mongodb G wheel d /home/mongodb s /bin/bash mongodb passwd mongodb # 设置密码 chown R mongodb.mongodb /usr/local/mongodb/ chmod 777 /usr/local/mongodb/ # 确保权限正确 vi /usr/lib/systemd/system/mongodb.service # 编辑服务文件,确保配置正确 systemctl daemonreload systemctl start mongodb.service systemctl enable mongodb.service # 设置为开机自启动
FAQs常见问题解答
1. 如何查看MongoDB运行状态?
可以通过以下命令查看MongoDB服务状态:
systemctl status mongodb.service
如果服务正在运行,你会看到类似于以下的输出:
● mongodb.service MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Mon 20xxxxxx xx:xx:xx UTC; xmin ago Docs: https://docs.mongodb.org/manual Main PID: xxxx (mongod) CGroup: /system.slice/mongodb.service └─xxxx /usr/bin/mongod f /etc/mongodb.conf
2. 如何备份和恢复MongoDB数据?
可以使用mongodump
和mongorestore
工具进行数据的备份和恢复,备份整个数据库:
mongodump out /path/to/backup/directory
恢复数据:
mongorestore /path/to/backup/directory
这些工具提供了灵活的选项,可以指定要备份的数据库和集合,以及是否包含索引等。