您的位置:首页 > 数据库

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

2015-06-02 12:19 501 查看
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 [RDS实例网址] 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: