Docker安装PostgreSQL及还原备份


Docker安装PostgreSQL及还原备份

安装数据库

#下载镜像
docker pull postgres:9.6

##创建本地映射目录
mkdir -p /mydata/postgresql/data
mkdir -p /mydata/postgresql14/data

#启动
docker run --name postgres -e POSTGRES_PASSWORD=Ab@123456 -p 5432:5432 -v /mydata/postgresql/data:/var/lib/postgresql/data -d postgres:9.6
#启动14.2版本
docker run --name postgres14 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=Ab@123456 -e POSTGRES_DB=postgres -p 54321:5432 -v /mydata/postgresql14/data:/var/lib/postgresql/data -d -it --privileged postgres:14


# 进入容器
docker exec -it postgres /bin/bash
# 进入文件夹
cd /usr/lib/postgresql/9.6/bin
# 进入postgresql,默认的postgres用户
psql -Upostgres

数据库备份还原

#备份,从其他服务器备份数据库文件
pg_dump -h 172.22.24.139 -U postgres -p 5432 -F t -f /home/apiserver/postgres-data/ry-cloud20210601.tar ry-cloud
pg_dump -h 172.22.24.139 -U postgres -p 5432 -F t -f /home/apiserver/postgres-data/ry-config20210601.tar ry-config

#将数据文件放到待还原服务器的挂载目录下
/mydata/postgresql/data/backupfile

#进入容器
docker exec -it postgres /bin/bash

#还原,首先创建空的待还原的数据库,之后进行还原的操作,执行的目录为容器内部的目录
nohup pg_restore -h 192.168.80.77 -U postgres -d ry-cloud-test /var/lib/postgresql/data/backupfile/ry-cloud20210601.tar
nohup pg_restore -h 192.168.80.77 -U postgres -d ry-config-test /var/lib/postgresql/data/backupfile/ry-config20210601.tar

#查看还原信息
tail-f nohup.out 

实例

#备份数据库
pg_dump -h deviceon-2-dev-linux.southeastasia.cloudapp.azure.com -U postgres -p 5432 -F t -f /opt/deviceon/db/deviceon220220513.tar deviceon2
pg_dump -h deviceon-2-dev-linux.southeastasia.cloudapp.azure.com -U postgres -p 5432 -F t -f /opt/deviceon/db/nacos220220513.tar nacos

#安装启动数据库
docker pull postgres:14.2
mkdir -p /mydata/postgresql14/data 
docker run --name postgres14 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=Ab@123456 -e POSTGRES_DB=postgres -p 54321:5432 -v /mydata/postgresql14/data:/var/lib/postgresql/data -d -it --privileged postgres:14

#还原数据库
将数据库文件放到 /mydata/postgresql14/data/backupfile/下 
docker exec -it postgres14 /bin/bash
nohup pg_restore -h 192.168.80.77 -U postgres -p 54321 -d deviceon2 /var/lib/postgresql/data/backupfile/deviceon220220513.tar
nohup pg_restore -h 192.168.80.77 -U postgres -p 54321 -d deviceon2-nacos /var/lib/postgresql/data/backupfile/nacos220220513.tar


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM