MongoDB
1.简介
MongoDB是一个文档数据库,这意味着它将数据存储在类似json的文档中。
数据结构:数据库(db)–集合(collection)–文档(document)
2.Windows安装
2.1 下载安装
下载路径:https://www.mongodb.com/try/download/community
咱们这里下载的是安装包版本,点击安装文件直接安装
选择Custom模式,可以自定义安装位置
选择不安装Compass图形界面
执行完以上步骤,MongoDB就安装好了,不过我们还需要进行一些设置
2.2 设置用户
连接MongoDB
D:\MongoDB\Server\4.2\bin>mongo
切换到admin database
use admin
创建一个root角色的user
db.createUser({user:"root",pwd:"root",roles:["root"]})
# 执行结果
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
3.3 开启身份验证
在MongoDB的安装目录下D:\MongoDB\Server\4.2\bin的mongod.cfg中添加如下内容
security:
authorization: enabled
重启动MongoDB服务
C:\Windows\system32>net stop mongodb
C:\Windows\system32>net start mongodb
我们先来尝试不使用用户名密码连接MongoDB之后的一些操作
D:\MongoDB\Server\4.2\bin>mongo
# 结果
MongoDB shell version v4.2.12
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8d4448d7-b4c0-49e9-9676-6b3775beb3db") }
MongoDB server version: 4.2.12
# 执行查看user的命令,我们可以看到提示我们没有获得权限
> show users
2021-02-25T21:05:53.866+0800 E QUERY [js] uncaught exception: Error: not authorized on test to execute command { usersInfo: 1.0, lsid: { id: UUID("8d4448d7-b4c0-49e9-9676-6b3775beb3db") }, $db: "test" } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1681:15
shellHelper.show@src/mongo/shell/utils.js:883:9
shellHelper@src/mongo/shell/utils.js:790:15
@(shellhelp2):1:1
我们再使用root用户登录之后,来做一些操作
D:\MongoDB\Server\4.2\bin>mongo --username=root
MongoDB shell version v4.2.12
Enter password:
# 输入密码即可成功连接
3.Ubuntu16.04上安装
3.1下载安装
下载路径:https://www.mongodb.com/try/download/community
解压tgz文件,并将解压后的文件夹移动到目标位置
tar zxvf mongodb-linux-x86_64-ubuntu1604-4.2.12.tgz
sudo mv mongodb-linux-x86_64-ubuntu1604-4.2.12 /usr/local/mongodb/
3.2 设置环境变量
# 在.bashrc中添加如下代码
export PATH=/usr/local/mongodb/mongodb-linux-x86_64-ubuntu1604-4.2.12/bin:$PATH
MongoDB默认存储数据的位置是/data/db,我们可以自定义存储的位置
# 用来存放数据文件
mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-ubuntu1604-4.2.12/data/db
# 用来存放日志文件
mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-ubuntu1604-4.2.12/log
# 用来存放配置文件
mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-ubuntu1604-4.2.12/config
在config目录下创建mongod.conf,配置文件的内容:
# 数据存放位置
storage:
dbPath: /usr/local/mongodb/mongodb-linux-x86_64-ubuntu1604-4.2.12/data/db
journal:
enabled: true
# 日志存放位置
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/mongodb-linux-x86_64-ubuntu1604-4.2.12/log/mongo.log
# 开启守护进程
processManagement:
fork: true
net:
port: 27017
bindIp: 127.0.0.1
# 开启身份验证
security:
authorization: enabled
3.3 创建root角色的用户
db.createUser({user:"root",pwd:"root",roles:["root"]})
# 创建结果
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
3.4 连接MongoDB
mongo --username=root
MongoDB shell version v4.2.12
Enter password:
# 输入密码即可成功连接