TANKENQI.cn

May 27, 2024

通过原始存储配置文件恢复数据库(简单粗暴)

database1.9 min to read

本文方法为作者自己尝试得出,不一定有效,若失败,还请参考正规的解决方案

本文的三种数据库恢复都以Docker来进行恢复,即本文会用Docker创建相应的数据库容器来对需要恢复的数据库进行恢复,在删除配置文件时,需要查看一些配置文件内容是否与需要恢复的数据库相同,如K8S集群中创建的数据库与Docker中创建的pg数据库就不同,postmaster.pid等文件内容

1 MongoDB

image-20231012214612701

docker pull mongo
docker run -d -p 31074:27017 --name wbw-mongo -v /mnt/storage/wbw-mongo/data:/data/db  mongo:latest

注意,不要直接删除data文件夹,而是将data内的文件全部删除

rm -rf /mnt/storage/wbw-mongo/data/*
cp /mnt/storage/bak-mongo/data/* /mnt/storage/wbw-mongo/data/
docker restart wbw-mongo

2 MySQL

image-20231012221503300

docker pull mysql
docker run -d -p 30491:3306 --name wbw-mysql -e MYSQL_ROOT_PASSWORD=123456 -v /mnt/storage/wbw-mysql/data:/var/lib/mysql mysql:latest
rm -rf /mnt/storage/wbw-mysql/data/*
cp /mnt/storage/bak-mysql/data/* /mnt/storage/wbw-mysql/data/
docker restart wbw-mysql

3 PostgreSQL

image-20231012225210135

docker pull postgres:14
docker run -d --name wbw-postgres -v /mnt/storage/wbw-postgres/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -p 5432:5432 postgres:14
rm -rf /mnt/storage/wbw-postgres/data/*
cp /mnt/storage/bak-postgres/data/* /mnt/storage/wbw-postgres/data/
docker restart wbw-postgres