install YAPI & MongoDB & 备份mongo 笔记

登录容器 docker exec -it mongodb bash

登录mongo mongo -u root -p 123456

查看db show dbs

查看collection show collections

进入db use yapi

查看数据 db.<collection_name>.find()

带条件查看 db.<collection_name>.find({ <field>: <value> })

限制返回条数 db.<collection_name>.find().limit(<limit>)

恢复数据 mongorestore -h dbhost -d dbname --directoryperdb dbdirectory

docker 运行 mongodb

sudo docker run -d \

--name mongodb \

--restart always \

--net=docker \

-p 27017:27017 \

-v ./db:/data/db \

-e MONGO_INITDB_DATABASE=yapi \

-e MONGO_INITDB_ROOT_USERNAME=root \

-e MONGO_INITDB_ROOT_PASSWORD=123456 \

mongo:4.2.21

docker exec -it mongodb /bin/bash 进入容器
mongo localhost:27017 进入mongo

use admin;切换数据库

db.auth("root ", "root"); 验证密码

use yapi;

db.createUser({

user: 'yapi',

pwd: '123456',

roles: [

{ role: "dbAdmin", db: "yapi" },

{ role: "readWrite", db: "yapi" }

]

});创建用户

exit 退出

exit 退出容器

备份数据

bash 复制代码
#####容器宿主机
#!/bin/bash

# 获取当前日期
current_date=$(date +%Y-%m-%d)

month=$(date +%Y-%m)
backup_dir="backup_yapi/${month}/${current_date}"
to_backup_dir="/bak/backup_yapi/${month}"  # CP

mkdir -p $to_backup_dir

echo  $backup_dir.tar.gz
# 备份MongoDB数据库
docker exec -it mongodb ./data/db/bak.sh
docker cp mongodb:/data/db/$backup_dir.tar.gz $to_backup_dir

# 输出备份完成信息
echo "MongoDB备份完成!"


#####容器内 //./data/db/bak.sh
#!/bin/bash

current_date=$(date +%Y-%m-%d)

host="127.0.0.1"  
port="27017"  
username="root" 
password="123456" 
database="yapi"  # 


month=$(date +%Y-%m)
backup_dir="/data/db/backup_yapi/${month}" U

mkdir -p $backup_dir

mongodump --host $host --authenticationDatabase admin --port $port --username $username --password $password --db $database --out $backup_dir/$current_date

tar -czvf $backup_dir/$current_date.tar.gz $backup_dir/$current_date
rm -rf $backup_dir/$current_date
                                     

docker 运行YAPI

初使化

docker run -d --rm --name yapi-init --link mongodb:mongo --net=docker -v ./config.json:/yapi/config.json yapipro/yapi server/install.js

启动YAPI

docker run -d \

--name yapi \

--link mongodb:mongo \

--restart always \

--net=docker \

-p 3000:3000 \

-v ./config.json:/yapi/config.json \

yapipro/yapi \

server/app.js

config.json

{

"port": "3000",

"adminAccount": "999@qq.com",

"timeout":120,

"db": {

"servername": "mongo",

"DATABASE": "yapi",

"port": 27017,

"user": "yapi",

"pass": "123456",

"authSource": ""

},

"mail": {

"enable": true,

"host": "smtp.qq.com",

"port": 端口,

"from": "999@qq.com",

"auth": {

"user": "999@qq.com",

"pass": "999"

}

}

}

adminAccount 管理员账号名:"999@qq.com",密码:"ymfe.org"

​​​​​​​参考 YApi-高效、易用、功能强大的可视化接口管理平台------(一)使用 Docker 本地部署_docker yapi_I'm Jie的博客-CSDN博客

相关推荐
睡觉的时候不会困4 小时前
Redis 主从复制详解:原理、配置与主从切换实战
数据库·redis·bootstrap
程序员的世界你不懂5 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
自学也学好编程6 小时前
【数据库】Redis详解:内存数据库与缓存之王
数据库·redis
JAVA不会写6 小时前
在Mybatis plus中如何使用自定义Sql
数据库·sql
IT 小阿姨(数据库)6 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
ChinaRainbowSea7 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
小马学嵌入式~8 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
Java小白程序员8 小时前
MyBatis基础到高级实践:全方位指南(中)
数据库·mybatis
Monly218 小时前
人大金仓:merge sql error, dbType null, druid-1.2.20
数据库·sql
不宕机的小马达8 小时前
【Mysql|第一篇】Mysql的安装与卸载、Navicat工具的使用
数据库·mysql