Docker+Postgresql数据库备份和恢复#数据库转移#容器

目标

在两台服务器中的容器中分别存在两个pgsql服务器,需要从A端备份数据库到B端

参考

docker复制文件

Docker-宿主机与容器之间的文件拷贝_呼啦啦dxy的博客-CSDN博客_宿主机文件拷贝到docker容器

传输文件

Linux 两台服务器之间传输文件和文件夹四种方式_weixin_44256848的博客-CSDN博客_linux传输文件到另一台服务器

备份数据库

如何备份PostgreSQL数据库 - 码农教程

命令

1、备份数据库

pg_dump -U <user_name> <dbname> > <file_path>

# 进入containerA
sudo docker exec -u root -it a9bc4a227cb9 bash
​
# 备份打包 
pg_dump -U postgres changzhou_agriculture02 > tmp/changzhou_agriculture.bak

2、数据库文件迁移

#容器>>>>>宿主机  //a9bc4a227cb9 是源pgsql容器id
docker cp a9bc4a227cb9:/tmp/changzhou_agriculture.bak /tmp/
​
#主机>>>>>主机(如果连接失败,可以使用finalshell等工具手动移动)
scp /tmp/changzhou_agriculture.bak  root@10.0.10.123:/tmp/
​
宿主机>>>>>容器  //6dca1aa96625是目标pgsql容器id
docker cp /tmp/changzhou_agriculture.bak  6dca1aa96625:/tmp/

3、恢复数据库

psql -U <user_name> <dbname> < <file_path>;

# 进入containerB
sudo docker exec -u root -it 6dca1aa96625 bash
​
#先创建数据
CREATE DATABASE changzhou_agriculture;
​
#恢复数据库
psql -U postgres changzhou_agriculture < tmp/changzhou_agriculture.bak;

#或者导入单表
psql -U postgres -d dbname < /tmp/filename.sql

导入结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值