现在不是从前你我
0x01 centos7 安装 mongodb
Linux安装、运行MongoDB - 我的安装环境:CentOS7+MongoDB4.0.13
- 下载解压, 放在家目录
- 然后创建配置文件, 设定数据存放位置, 日志存放位置, 开放端口, 允许远程访问及auth
- 启动服务时显示指定配置文件
- 远程访问需要设定数据库的用户密码角色什么的
0x02 window 安装 mongodb
- 安装时最好自定义安装路径, 不要什么都放在 c 盘.
C:\mongodb\bin\mongod --dbpath c:\data\db
可以指定数据存放位置, 不指定默认 c 盘--port 27017
就能显示指端口了, 不过没什么必要- mongod 开启服务器, mongo 链接服务器
- 将 mongodb 加入环境变量
- 加入系统开机自启动什么的
0x03 docker 安装 mongodb
- 就很简单了, 和 centos 安装差不多(个鬼)
docker run --name mongo-master -p 27017:27017 -v /java/mongo/db:/data/db -d mongo --auth
指定映射端口, 挂载路径什么的, --auth 开启密码授权访问docker exec -it mongo-master bash
所以还是要进入容器, 然后创建一个用户- 但是需要注意的是, 博文里面创建的那啥用户只能赋予用户权限, 如果你想像 mysql 一样操作需要创建如下用户, 然后用使用图形工具连接时使用此用户连接
db.createUser(
{
user: "root",
pwd: "root",
roles: [ { role: "root", db: "admin" } ]
}
)
0x04 mongodb 的基本使用
- 数据库 database, 集合 collection, 文档 document 一层包一层
- database, collection 都不需要我们手动创建, 当文档被创建时以上不存在就会被创建
- 数据库->表->表里面的数据元组 (mongodb-nosql类比到sql的话…)
- 另外说一下 mongodb 和 mysql 不一样, 到底是一个nosql, 虽然是挺像关系型数据库的, 但设计的时候这样设计就会显得很蠢. 设计上如果有多表联立之类的需求, 最好就改掉了, 虽然 join 也能使用但是效率我记得是不高的…