Linux环境下MongoDB数据库的安装与基本操作指南
30 浏览量
更新于2024-10-08
收藏 19KB ZIP 举报
资源摘要信息:"在Linux环境下MongoDB数据库"
MongoDB是一款开源的NoSQL数据库管理系统,它是基于分布式文件存储的数据库,由C++编写而成,旨在提供可扩展的高性能数据存储解决方案。MongoDB具有丰富的查询语言、索引支持和复制功能,非常适合大数据场景和实时应用开发。
在Linux环境下安装MongoDB数据库的步骤如下:
1. 导入MongoDB官方仓库的公钥:
在终端运行以下命令来导入公钥:
```
wget -qO - ***
```
2. 创建MongoDB.list文件:
运行以下命令创建一个文件,用于指定MongoDB的仓库位置:
```
echo "deb [ arch=amd64,arm64 ] *** $(lsb_release -cs)/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
```
3. 更新软件包列表:
更新本地的包索引以确保能够访问到MongoDB的最新软件包:
```
sudo apt-get update
```
4. 安装MongoDB服务器:
使用以下命令安装MongoDB服务器:
```
sudo apt-get install -y mongodb-org
```
5. 启动MongoDB服务:
安装完成后,可以使用以下命令启动MongoDB服务:
```
sudo systemctl start mongod
```
6. 设置开机自启MongoDB服务:
为了让MongoDB在系统启动时自动运行,可以使用以下命令:
```
sudo systemctl enable mongod
```
MongoDB在Linux下的基本操作包括:
1. 启动和停止服务:
- 启动MongoDB服务:
```
sudo systemctl start mongod
```
- 停止MongoDB服务:
```
sudo systemctl stop mongod
```
- 重启MongoDB服务:
```
sudo systemctl restart mongod
```
- 检查MongoDB服务状态:
```
sudo systemctl status mongod
```
2. 执行基本的数据库操作:
- 进入MongoDB shell:
```
mongo
```
- 创建数据库(如果不存在则创建):
```
use myDatabase
```
- 插入数据到集合:
```
db.myCollection.insert({name:"Alice", age:25})
```
- 查询数据:
```
db.myCollection.find({name:"Alice"})
```
- 更新数据:
```
db.myCollection.update({name:"Alice"}, {$set: {age: 26}})
```
- 删除数据:
```
db.myCollection.remove({name:"Alice"})
```
3. 管理用户和权限:
- 创建用户:
```
db.createUser({user:"alice", pwd:"123456", roles:[{role:"readWrite", db:"myDatabase"}]})
```
- 授权:
```
db.grantRolesToUser("alice", [{role:"readWrite", db:"myDatabase"}])
```
- 撤销权限:
```
db.revokeRolesFromUser("alice", [{role:"readWrite", db:"myDatabase"}])
```
- 删除用户:
```
db.dropUser("alice")
```
4. 备份和恢复:
- 备份数据:
```
mongodump -u admin -p password --authenticationDatabase admin -o /备份目录
```
- 恢复数据:
```
mongorestore -u admin -p password --authenticationDatabase admin /备份目录
```
注意:操作数据库时,需要具备相应的权限。特别是在Linux环境下,可能需要使用sudo来获取超级用户权限。在生产环境中,还应考虑对MongoDB进行合理的安全配置,例如设置防火墙规则、使用TLS/SSL加密以及使用内核锁来保护数据文件。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-09-08 上传
2021-03-11 上传
2020-04-03 上传
2019-10-09 上传
2024-01-03 上传
2019-10-10 上传
换个网名有点难
- 粉丝: 2667
- 资源: 132
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析