温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux如何安装Mongodb

发布时间:2022-01-25 11:35:41 来源:亿速云 阅读:193 作者:柒染 栏目:开发技术
# Linux如何安装MongoDB ## 一、MongoDB简介 MongoDB是一个开源的NoSQL数据库管理系统,采用文档导向的数据模型。与传统的关系型数据库不同,MongoDB使用类似JSON的BSON格式存储数据,具有以下特点: - 灵活的数据模型 - 水平可扩展性 - 高性能查询 - 丰富的查询语言 - 自动故障转移 ## 二、安装前的准备工作 ### 1. 系统要求 - 支持大多数主流Linux发行版(Ubuntu/Debian/CentOS/RHEL等) - 建议2GB以上内存 - 至少10GB可用磁盘空间 - root或sudo权限 ### 2. 检查系统信息 ```bash # 查看Linux发行版 lsb_release -a # 查看内核版本 uname -r # 检查内存和磁盘空间 free -h df -h 

三、Ubuntu/Debian系统安装MongoDB

方法1:使用官方仓库安装(推荐)

1. 导入公钥

sudo apt-get install gnupg wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - 

2. 添加MongoDB仓库

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list 

3. 更新本地包索引

sudo apt-get update 

4. 安装MongoDB

sudo apt-get install -y mongodb-org 

5. 验证安装

mongod --version 

方法2:使用.deb包安装

1. 下载.deb包

wget https://repo.mongodb.org/apt/ubuntu/dists/$(lsb_release -sc)/mongodb-org/6.0/multiverse/binary-amd64/mongodb-org-server_6.0.0_amd64.deb 

2. 安装依赖

sudo apt-get install libcurl4 openssl liblzma5 

3. 安装.deb包

sudo dpkg -i mongodb-org-server_6.0.0_amd64.deb 

四、CentOS/RHEL系统安装MongoDB

1. 创建仓库文件

sudo vi /etc/yum.repos.d/mongodb-org-6.0.repo 

添加以下内容:

[mongodb-org-6.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc 

2. 安装MongoDB

sudo yum install -y mongodb-org 

3. 验证安装

mongod --version 

五、配置MongoDB

1. 创建数据目录

sudo mkdir -p /data/db sudo chown -R mongodb:mongodb /data/db 

2. 修改配置文件

sudo vi /etc/mongod.conf 

常用配置项:

storage: dbPath: /var/lib/mongodb journal: enabled: true systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log net: port: 27017 bindIp: 127.0.0.1 # 生产环境建议改为0.0.0.0并配置防火墙 

3. 启动MongoDB服务

sudo systemctl start mongod sudo systemctl enable mongod 

4. 检查服务状态

sudo systemctl status mongod 

六、基本操作与验证

1. 连接MongoDB

mongo 

2. 执行简单命令

// 查看数据库 show dbs // 创建/切换数据库 use testdb // 创建集合并插入文档 db.users.insertOne({name: "John", age: 30}) // 查询文档 db.users.find() 

3. 创建管理员用户

use admin db.createUser({ user: "admin", pwd: "securepassword", roles: ["root"] }) 

七、安全配置

1. 启用认证

修改配置文件:

security: authorization: enabled 

重启服务:

sudo systemctl restart mongod 

2. 防火墙配置

# 开放27017端口 sudo ufw allow 27017 # CentOS防火墙 sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent sudo firewall-cmd --reload 

3. 禁用远程root访问

db.updateUser("admin", { roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) 

八、性能优化建议

1. 内存配置

storage: wiredTiger: engineConfig: cacheSizeGB: 2 # 根据服务器内存调整 

2. 日志轮转

sudo vi /etc/logrotate.d/mongodb 

添加内容:

/var/log/mongodb/*.log { daily rotate 7 compress delaycompress missingok notifempty sharedscripts postrotate /bin/kill -SIGUSR1 $(cat /var/lib/mongodb/mongod.lock 2>/dev/null) 2>/dev/null || true endscript } 

3. 定期维护

# 修复数据库 mongod --repair # 压缩数据库 db.runCommand({compact: "collectionName"}) 

九、常见问题解决

1. 启动失败排查

# 查看错误日志 tail -n 100 /var/log/mongodb/mongod.log # 检查端口占用 netstat -tulnp | grep 27017 

2. 权限问题

# 确保数据目录权限正确 sudo chown -R mongodb:mongodb /data/db 

3. 连接问题

# 检查服务是否运行 sudo systemctl status mongod # 检查防火墙设置 sudo ufw status 

十、升级与卸载

1. 升级MongoDB

# Ubuntu/Debian sudo apt-get update sudo apt-get upgrade mongodb-org # CentOS/RHEL sudo yum update mongodb-org 

2. 完全卸载

# 停止服务 sudo systemctl stop mongod # 卸载软件包 sudo apt-get purge mongodb-org* # Ubuntu/Debian sudo yum erase mongodb-org* # CentOS/RHEL # 删除数据目录 sudo rm -r /var/lib/mongodb sudo rm -r /var/log/mongodb 

结语

本文详细介绍了在Linux系统上安装MongoDB的完整流程,包括Ubuntu/Debian和CentOS/RHEL两种主要发行版的安装方法,以及基本的配置、安全设置和性能优化建议。MongoDB作为流行的NoSQL数据库,正确安装和配置是保证其稳定运行的基础。

对于生产环境,建议进一步考虑: - 配置副本集实现高可用 - 设置定期备份策略 - 实施更严格的安全措施 - 监控数据库性能指标

通过本文的指导,您应该已经成功在Linux系统上安装并配置了MongoDB,可以开始开发基于MongoDB的应用程序了。 “`

这篇文章总计约2150字,采用Markdown格式编写,包含了MongoDB在Linux系统上的完整安装指南,涵盖了多种安装方法、配置步骤、安全设置和常见问题解决方案。文章结构清晰,适合作为技术文档参考。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI