Skip to content
Snippets Groups Projects
Commit 95ffe086 authored by Riyad Preukschas's avatar Riyad Preukschas
Browse files

Update database setup instructions to be more consistent

parent d1e31bfc
No related branches found
No related tags found
1 merge request!2188Update installation docs
# Databases:
# Setup Database
 
GitLab use MySQL as default database but you are free to use PostgreSQL.
GitLab supports the following databases:
* MySQL (preferred)
* PostgreSQL
 
 
## MySQL
 
# Install the database packages
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
 
# Install only the necessary gems
sudo -u gitlab -H bundle install --deployment --without development test postgres
# Login to MySQL
$ mysql -u root -p
 
# Create a user for GitLab. (change $password to a real password)
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
# Create the GitLab production database
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
 
# Create the MySQL User change $password to a real password
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
# Grant proper permissions to the MySQL User
# Grant the GitLab user necessary permissopns on the table.
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
 
# Quit the database session
mysql> \q
# Try connecting to the new database with the new user
sudo -u gitlab -H mysql -u gitlab -p -D gitlabhq_production
 
## PostgreSQL
 
# Install the database packages
sudo apt-get install -y postgresql-9.1 postgresql-server-dev-9.1
 
# Connect to database server
# Install only the necessary gems
sudo -u gitlab -H bundle install --deployment --without development test mysql
# Login to PostgreSQL
sudo -u postgres psql -d template1
 
# Add a user called gitlab. Change $password to a real password
# Create a user for GitLab. (change $password to a real password)
template1=# CREATE USER gitlab WITH PASSWORD '$password';
 
# Create the GitLab production database & grant all privileges on database
template1=# CREATE DATABASE gitlabhq_production OWNER gitlab;
 
# Quit from PostgreSQL server
# Quit the database session
template1=# \q
 
# Try connect to new database
sudo -u gitlab psql -d gitlabhq_production
# Try connecting to the new database with the new user
sudo -u gitlab -H psql -d gitlabhq_production
 
 
 
#### Select the database you want to use
# Configure GitLab
 
# Mysql
sudo -u gitlab cp config/database.yml.mysql config/database.yml
Loading
Loading
@@ -49,12 +65,4 @@ GitLab use MySQL as default database but you are free to use PostgreSQL.
# PostgreSQL
sudo -u gitlab cp config/database.yml.postgresql config/database.yml
 
# make sure to update username/password in config/database.yml
#### Install gems
# mysql
sudo -u gitlab -H bundle install --without development test postgres --deployment
# or postgres
sudo -u gitlab -H bundle install --without development test mysql --deployment
Make sure to update username/password in config/database.yml.
Loading
Loading
@@ -122,21 +122,9 @@ Check the [Trouble Shooting Guide](https://github.com/gitlabhq/gitlab-public-wik
and ensure you have followed all of the above steps carefully.
 
 
# 5. Mysql database
# 5. Database
 
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
# Login to MySQL
$ mysql -u root -p
# Create the GitLab production database
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
# Create the MySQL User change $password to a real password
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
# Grant proper permissions to the MySQL User
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
See doc/install/databases.md
 
 
# 6. GitLab
Loading
Loading
@@ -162,12 +150,6 @@ and ensure you have followed all of the above steps carefully.
#
sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml
 
# Copy mysql db config
#
# make sure to update username/password in config/database.yml
#
sudo -u gitlab cp config/database.yml.mysql config/database.yml
# Copy unicorn config
#
sudo -u gitlab cp config/unicorn.rb.example config/unicorn.rb
Loading
Loading
@@ -269,8 +251,6 @@ You can login via web using admin generated with setup:
 
# Advanced setup tips:
 
_Checkout databases.md for PostgreSQL_
## Customizing Resque's Redis connection
 
If you'd like Resque to connect to a Redis server on a non-standard port or on
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment