让Gitlab的CE版本,使用mysql数据库

原创
2015/08/12 09:43
阅读数 3K

缺省情况下,当你安装了gitlab的omnibus安全包后,缺省是不提供mysql2的gem,因此你无法配置为使用mysql数据库。

PS:只有Gitlab的OmniBus EE版本可以使用mysql数据库。

资料来源:https://gitlab.com/gitlab-org/gitlab-recipes/merge_requests/21

步骤和思路

通过安装好的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'] = 10
gitlab_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 # 列出所有的job
gitlab-rake gitlab:setup #在db中创建新内容并设置管理员账号
gitlab-rake gitlab:backup:create
gitlab-rake gitlab:backup:restore

** gitlab:backup:create 和 gitlab:backup:restore 只能在同一种数据上备份和恢复。**

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部