PG数据库迁移

PG数据库迁移(两台服务器之间)

1.pg数据库备份

root用户进入postgis的bin目录

./pg_dump -h IP

-U postgres 数据库名> /home/backup/***.sql

   注:参考文章

https://www.jianshu.com/p/70c029e5d43c

https://blog.csdn.net/zhuocr/article/details/56479966

2.数据库还原

从当前服务器拉取位于另一台服务器的备份文件

安装sshpass命令:yum install sshpass -y

数据拉取(后台执行):

nohup sshpass -p 目标服务器密码 scp 目标服务器用户名@目标服务器IP:/APP/***.zip ./ 2>&1 &

注:密码较长较复杂时用单引号将密码括起来

查看docker的ID、names等基本信息:docker ps

docker的ID对应CONTAINER ID字段

将服务器上的备份sql文件移到doker内:

sudo docker cp/data/***.sql dockerID:/home

也可以用移动命令:mv 文件路径/文件名 目标文件夹路径

进入到docker:

docker exec -itdockerID bash

查找postgres文件目录:find  / -name postgres

进入到postgres的bin目录下:cd /usr/lib/postgresql/9.6/bin

还原数据库:./psql -U postgres 数据库名< /home/***.sql

注:执行此步前需要先用navicate创建一个与备份数据库同名的数据库。

还原完成后推出docker:exit

3.附赠文件移动时权限不够解决办法

进入root用户:sudo su –

复制本地文件到初始用户(例如appuser用户)的对应文件夹下,即往服务器。的/home/appuser文件夹下传输。

移动备份文件到其他文件夹,如data文件夹。

mv 文件路径/文件名 目标文件夹路径

你可能感兴趣的:(PG数据库迁移)