GitLab默认推荐PostgreSQL,其性能更优且兼容性更好。
注:CentOS 7/8中需手动安装PostgreSQL,MySQL支持已逐步淘汰。
安装PostgreSQL
sudo yum install -y postgresql-server postgresql-contrib
sudo postgresql-setup initdb # 初始化数据库
sudo systemctl start postgresql
sudo systemctl enable postgresql
创建数据库和用户
sudo -u postgres psql
CREATE DATABASE gitlabhq_production; # 创建数据库
CREATE USER gitlab WITH PASSWORD 'your_password'; # 创建用户
GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production TO gitlab; # 授权
\q
修改GitLab配置文件
编辑/etc/gitlab/gitlab.rb,添加以下内容:
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = 'localhost'
gitlab_rails['db_database'] = 'gitlabhq_production'
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = 'your_password'
重启GitLab生效
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
备份与恢复
gitlab-rake gitlab:backup:create # 备份至默认目录/var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP_FILE # 指定备份文件
数据库升级
gitlab-ctl pg-upgrade # 升级PostgreSQL版本
服务状态检查
gitlab-ctl status # 查看所有组件状态
gitlab-ctl tail postgresql # 查看PostgreSQL日志
5432端口。postgresql.conf中的shared_buffers等参数。以上步骤参考自。