Docker+Postgresql数据库备份和恢复#数据库转移#容器
记录pgsql服务搭建
·
目标
在两台服务器中的容器中分别存在两个pgsql服务器,需要从A端备份数据库到B端
参考
docker复制文件
传输文件
Linux 两台服务器之间传输文件和文件夹四种方式_weixin_44256848的博客-CSDN博客_linux传输文件到另一台服务器
备份数据库
命令
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)