数据库迁移
条件
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命令行,到这里就迁移成功了