什么是 mongodb
有哪些好处?(外面是这样流传的)
- 对比传统主流数据库,比较‘新’。
- 非关系数据库。没有结构的约束,扩展,速度会更‘快’
- 适合填坑的你…
环境配置
- mongodb 下载
- 解压 mongo 安装包
1
tar -zxvf ./mongodb-linux-x86_64-3.4.10.tgz
- 配置环境变量
1
MONGO_HOME=/root/mydata/mongodb-linux-x86_64-3.4.10
-
注意这是非守护进程方式,一关后面就连接不上了
1
2
3
4
5
6
7
8[root@izj6c8pmxwulw3fkf18zqqz mydata]# mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
2018-05-31T11:30:51.137+0800 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2018-05-31T11:30:51.137+0800 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed -
1
2
3
4
5[root@izj6c8pmxwulw3fkf18zqqz mydata]# mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
>
配置 mongod
简单的一些修改
- 数据库路径
路径文件夹需要提前建好
1 | mongod --dbpath /your path |
- 日志文件路径
1 | mongod --logpath /your path |
- 修改端口 port
1 | mongod --port 12345 |
关闭进程
- shutdownServer
1 | > use admin |
- kill
1 | [root@izj6c8pmxwulw3fkf18zqqz ~]# ps -aux |grep mongo |
- shutdown
1 | [root@izj6c8pmxwulw3fkf18zqqz ~]# mongod --shutdown |
配置文件
指定配置文件方式
指定配置文件 –config, -f 编写配置文件(YAML 范式)
1 | # 守护开启 |
守护配置
参考配置文件,如果你没有配置,就–fork 开启守护模式
1 | [root@izj6c8pmxwulw3fkf18zqqz ~]# mongod -f /root/mydata/mongo/conf/mongod.conf |
权限
- 添加权限用户
1 | > use admin |
- 开启权限模式
1 | mongod -f /root/mydata/mongo/conf/mongod.conf --auth |
- 按照权限操作不同功能
1 | > use admin |
- 显示用户
1 | > show users |
常用操作命令
数据库操作
- 显示当前库
1 | > db |
- 切换(添加)数据库
后续 insert 一条数据,新增数据库就会出现
1 | > use eminoda_db |
- 显示数据库
1 | > show dbs |
- 删除数据库
1 | > db |
CRUD
- 增
1 | db.user.insertOne({ |
- 删
1 | db.user.deleteOne({ |
- 改
1 | db.user.updateMany({ |
- 查
1 | # 条件判断 |
帮助资料(基本都来自官网)
- mongo
- mongod
- 管理 mongod 进程
- mongod 配置-关于启动运行
- mongod 配置文件详解
- security 目录
- roles 角色介绍
- 创建一个授权用户
- 创建 auth,基本够用了
- db 相关操作
- query
参考
[mongodb vs mysql]https://blog.panoply.io/mongodb-and-mysql > MongoDB 等 NoSQL 与关系型数据库相比,有什么优缺点及适用场景?