目录
我的系统环境
Ubuntu : 18.04
云服务商 : AWS(亚马逊云)
安装MongoDB 4.4.1
MongoDB 4.4版本 安装参考 : https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
1. 添加公钥
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
2.创建MongoDB文件列表,包含了很多版本的镜像链接,有3.6版本,4.4版本
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
3. 更新软件包
sudo apt-get update
4.选择版本安装
sudo apt-get install -y mongodb-org=4.4.1 mongodb-org-server=4.4.1 mongodb-org-shell=4.4.1 mongodb-org-mongos=4.4.1 mongodb-org-tools=4.4.1
4.1 安装最新的稳定版本
sudo apt-get install -y mongodb-org
5. apt-get更新版本时,防止意外升级,可设置固定版本
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
运行MongoDB
1. 查看系统平台
ps --no-headers -o comm 1
2.启动
sudo systemctl start mongod
2.1 启动报错可以刷新进程服务
报错内容: Failed to start mongod.service: Unit mongod.service not found.
sudo systemctl daemon-reload
3. 查看状态 和 开机启动 和 停止启动 和 重启
## 查看状态
sudo systemctl status mongod
## 开机启动
sudo systemctl enable mongod
## 停止服务
sudo systemctl stop mongod
## 重启
sudo systemctl restart mongod
4. 使用MongoDB
mongo
卸载MongoDB
1. 卸载软件
## 停止服务
sudo service mongod stop
## 卸载软件
sudo apt-get purge mongodb-org*
2. 删除数据库文件(慎用)
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
创建root用户
1. MongoDB的内置角色
root 角色由以下角色组合:
官方文档 : https://docs.mongodb.com/manual/reference/built-in-roles/
2.访问控制简介
默认安装后未开启访问控制,在开启访问控制之前,需要创建第一个用户root来进行管理整个mongodb的服务.
未开启访问控制下,创建第一个用户.
官方文档: https://docs.mongodb.com/manual/tutorial/enable-authentication/
3.创建root用户
use admin;
db.createUser(
{
user: "root",
pwd: "Yang1104&&",
roles: [ "root"]
}
)
3.1 使用官方推荐的方法 调用passwordPrompt() 提示用户输入密码
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
4. 查看用户
// 方式一
db.system.users.find().pretty();
// 方式二
show users;
5. 关闭mongodb实例,并退出控制终端
db.adminCommand( { shutdown: 1 } );
// 退出终端
exit;
6. 启用访问控制
方式1: 启动命令添加参数 --auth
mongod --auth --port 27017 --dbpath /var/lib/mongodb
方式2: 修改配置文件
sudo vim /etc/mongod.conf
添加如下配置参数
security:
authorization: enabled
给mongodb添加权限,防止mongodb开启访问控制后无法启动,启动如下错误信息:
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2020-11-16 09:01:01 UTC; 40s ago
Docs: https://docs.mongodb.org/manual
Process: 15332 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)
Main PID: 15332 (code=exited, status=14)
添加权限:
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo chown mongodb:mongodb /tmp/*.sock
登陆MongoDB
mongo -u root -p
## 官网推荐示例
mongo --port 27017 --authenticationDatabase "admin" -u "myUserAdmin" -p