缺省情况下,当你安装了gitlab的omnibus安全包后,缺省是不提供mysql2的gem,因此你无法配置为使用mysql数据库。
PS:只有Gitlab的OmniBus EE版本可以使用mysql数据库。
资料来源:
步骤和思路
通过安装好的gitlab命令gem,手工安装需要的包并编译,且指定安装目录。
首先确保有mysql的客户端和头文件
yum install mysql mysql-devel
当安装好gitlab-omnibus版本后,注意目录和mysql2的版本号,如果升级了需要修改
cd /opt/gitlab/embedded/bin/./gem install -i /opt/gitlab/embedded/service/gem/ruby/2.1.0 mysql2 -v0.3.16
需要需改一个配置文件,不要舍弃mysql包 Edit /opt/gitlab/embedded/service/gitlab-rails/.bundle/config
and change mysql to postgres:
BUNDLE_WITHOUT: development:test:postgres
修改gitlab.rb配置文件,将数据库指向mysql
gitlab_rails['db_adapter'] = 'mysql2'gitlab_rails['db_encoding'] = 'utf8'gitlab_rails['db_pool'] = 10gitlab_rails['db_host'] = 'xxx.xxx.xxx'gitlab_rails['db_port'] = '3306'gitlab_rails['db_database'] = 'gitlabhq_production'gitlab_rails['db_username'] = 'gitlab'gitlab_rails['db_password'] = 'xxxxx'postgresql['enable'] = false
试试看是否有问题
gitlab-rake gitlab:check
其他命令
gitlab-rake -T # 列出所有的jobgitlab-rake gitlab:setup #在db中创建新内容并设置管理员账号gitlab-rake gitlab:backup:creategitlab-rake gitlab:backup:restore
** gitlab:backup:create 和 gitlab:backup:restore 只能在同一种数据上备份和恢复。**