zoukankan      html  css  js  c++  java
  • 将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 [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

     

  • 相关阅读:
    Flask学习目录
    Android笔记
    PyQt学习目录
    学习目录
    Python学习目录一
    sqlserver STUFF & STR
    PowerShell+Jenkins,实现项目的自动化部署
    DotNet Core Backend development
    .Net Core 类注入单元测试
    团队项目之团队展示&选题
  • 原文地址:https://www.cnblogs.com/dudu/p/import-gitlab-postgresql-to-aliyun-rds.html
Copyright © 2011-2022 走看看