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博客

相关推荐
xcLeigh15 分钟前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai
yume_sibai1 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
AugustRed2 小时前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Gl�ria2 小时前
Redis 高可用架构对比
数据库·redis
唐青枫3 小时前
MongoDB 从零到能用:文档、CRUD、聚合与 Node.js 实战
mongodb
IpdataCloud3 小时前
高可用的IP数据接口平台有哪些?从可用性、P99延迟到离线部署的评估框架(含代码)
数据库·tcp/ip·ip
呆萌很3 小时前
MySQL 数据库和表的管理操作(命令行)
数据库·mysql
IvorySQL4 小时前
当PostgreSQL“听懂”MySQL——协议兼容层的设计与实战
数据库·人工智能·postgresql
这个DBA有点耶5 小时前
银行核心系统数据库迁移怎么选?6 步法+5 个避坑指南
数据库·安全·架构
风哥2号5 小时前
数据库教程FGMT31‑Linux平台MySQL9.7安装配置与版本升级
数据库