mongoDb,源于之前对mongo的数据一点都不懂
因为项目中,用到了yapi,其内置数据存储于mongoDb中, 不得不安装mongodb数据库
什么是mongoDB
- 基于分布式文件存储的数据库
- 介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
- NoSQL类型的数据库
为什么要使用MongoDB
- 高读写的能力,吞吐量较于mysql等SQL数据库大大增强(源于BSON(类JSON)作为其数据模型结构)
- 易伸缩,自动故障转移。易伸缩指的是提供了分片能力,能对数据集进行分片,数据的存储压力分摊给多台服务器。自动故障转移是副本集的概念,MongoDB能检测主节点是否存活,当失活时能自动提升从节点为主节点,达到故障转移
- 数据模型因为是面向对象的,所以可以表示丰富的、有层级的数据结构
mongoDB的应用场景
- 小项目基本上是用不到了
- 大数据量, 对事务要求不高
安装
查看linux版本
选择mogonDb版本
前往 https://www.mongodb.com/download-center/community 在线选择
Linux命令安装
参考以下方法(本人就是参照着方法安装的)
https://www.cnblogs.com/pfnie/articles/6759105.html
安装注意点:
- 启动命令 : mongoDb安装bin目录下执行 ./mongod –config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
- 停止命令: mongoDb安装bin目录下执行 ./mongod –shutdown –dbpath /usr/local/mongoDB/mongodbserver/data
- 查看是否已成功启动(没有对应显示,则未启动): netstat -an|grep 27017
- 验证: db.auth(“admin”,”123456″); 返回1验证成功
- 创建用户: db.createUser({user:”admin”,pwd:”123456″,roles:[{“role”:”userAdminAnyDatabase”,”db”:”admin”},{“role”:”readWrite”,”db”:”mydb”}]})
- 进入shell命令界面: mongoDb安装bin目录下执行 ./mongo
- shell 可执行mongoDb数据库查询(同等于sql命令)命令:
命名 | 含义 | 备注 |
use admin | 选择admin数据库 | |
show users | x显示当前数据库用户列表 | |
show dbs | x显示所有数据库 | |
show collections | x显示当前数据库集合 |
异常
安装成功, 但外网访问不了时, 提示: authorization failed , authorization skipped by you
这个问题可是犯了我一阵, 百度什么,修改version版本为3,删除admin, 验证登录,坑死人;
就是简单的在 mongoDb的 etc/mongodb.config 配置文件中添加 bind_id = 0.0.0.0,即可让可视化工具访问登录
修改后, 记得重启mongodb