数据库迁移

条件

1.假设从linux a(​​xiaoming@11.11.11.11​​) 迁移至 b(​​xiaoming@11.11.11.12​​), 原数据库old_db, 管理用户xiaoming,密码123456
2.假定用户xiaoming,同时已经配置好了ssh到a和b,并且具备sudo权限. // 该条未满足,须学习或者找运维添加一下ssh key.

开始

​ssh xiaoming@11.11.11.12​​​ // ssh host b
​​​pg_dump -h 11.11.11.11 -U xiaoming old_db >/data/dum.sql​​​ // 从host a 里导出数据库,需要输入xiaoming的old_db管理密码,并且确保/data/有权限写入,sudo chmod 777 /data/
​​​psql -U postgres postgres​​​ // 以管理员角色postgres登入postgres自带数据库, 如果有其它的管理员角色也行,进入psql命令行
​​​create database old_db​​​ // 创建需要迁移的数据库名
​​​create user xiaoming with password '123456'​​​ // 创建该数据库的登陆用户
​​​grant all privileges on database old_db to xiaoming​​​ // 将该数据库权限开通给该用户
​​​\c old_db​​​ // 切换到新建好的数据库,切换成功
​​​<ctrl d> 键盘敲​​​ // 回退到命令行
​​​psql -U xiaoming -d old_db < /data/dum.sql​​​ // 将数据库数据导入
​​​psql -U xiaoming -d old_db​​ // 登陆迁移好的数据库,进入psql命令行,到这里就迁移成功了