hao0089 发表于 2016-11-21 10:52:07

将GitLab的数据库导入阿里云PostgreSQL RDS

GitLab的数据库用的是PostgreSQL,之前由于阿里云RDS不支持PostgreSQL,只能将GitLab的数据库部署在云服务器上。
6月1日得知阿里云推出了PostgreSQL RDS,于是立马将GitLab的数据库迁移至PostgreSQL RDS。
下面分享一下迁移的主要操作步骤:

1)在GitLab服务器上备份GitLab数据库
操作命令:



sudo gitlab-rake gitlab:backup:create SKIP=db
  注:这个命令原本是只备份数据库,但实际运行时也会备份repositories,可以在完成数据库备份时,ctrl+C直接退出。
  数据库备份成功后,会在 /var/opt/gitlab/backups/db 文件夹中看到 database.sql 文件,导入时只需将这个文件导入到阿里云RDS。
  2)在阿里云RDS中创建GitLab的数据库帐户与数据库
  在阿里云RDS控制台首页点击“登录数据库”,进入idb.rds.aliyun.com,选择对应的PostgreSQL实例。
a)创建2个帐户:gitlab, gitlab-psql
b)创建gitlabhq_production数据库,所有者为gitlab。
3) 在GitLab服务器上进行导入操作
a)cd /var/opt/gitlab/backups/db
b) psql -h p 3433 -d gitlabhq_production -U gitlab -f database.sql
导入成功时的控制台输出:



...
CREATE INDEX
psql:database.sql:5084: WARNING:no privileges could be revoked for "public"
REVOKE
psql:database.sql:5085: WARNING:no privileges could be revoked for "public"
REVOKE
psql:database.sql:5086: WARNING:no privileges were granted for "public"
GRANT
psql:database.sql:5087: WARNING:no privileges were granted for "public"
GRANT
  4)修改GitLab的配置
  a)打开配置文件



vi /etc/gitlab/gitlab.rb
  b)修改如下设置
  设置PostgreSQL RDS数据库连接



gitlab_rails['db_username'] = "gitlab"
gitlab_rails['db_password'] = 帐户密码
gitlab_rails['db_host'] = RDS实例网址
gitlab_rails['db_port'] = 3433
  禁用本地PostgreSQL



postgresql['enable'] = false
  启用新设置



gitlab-ctl reconfigure
  
页: [1]
查看完整版本: 将GitLab的数据库导入阿里云PostgreSQL RDS