git迁移MySQL数据库_Centos7下Gitlab迁移数据库mysql过程

第1章 系统准备[[email protected] ~]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[[email protected] ~]# uname -r

3.10.0-327.el7.x86_64

1.1添加阿里云的镜像cd /etc/yum.repos.d#备份原镜像mv CentOS-Base.repo CentOS-Base.repo.backup

#添加阿里云Base源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#添加阿里云epel源

wget https://mirrors.aliyun.com/repo/epel-7.repo#清除缓存

yum clean all && yum makecache

第2章 yum安装最新版Gitlab9.1.2

2.1安装依赖软件yum install curl policycoreutils openssh-serveropenssh-clients

2.2添加清华大学镜像vi /etc/yum.repos.d/gitlab-ce.repo

[gitlab-ce]

name=Gitlab CE Repository

baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/

gpgcheck=0

enabled=1

2.3安装gitlab-ceyum makecache

yum install gitlab-ce

2.4查看安装gitlab的版本head -1 /opt/gitlab/version-manifest.txt

gitlab-ce 9.1.2

2.5重新配置并启动Gitlab# gitlab-ctl reconfigure会把一些过去的config还原,导致修改的端口以及域名等都没有了

gitlab-ctl reconfigure

#重启gitlab-ce

gitlab-ctl restart

第3章 安装mysql5.6.36

3.1添加mysql源vi /etc/yum.repo.d/mysql.repo

[mysql56-community]

name=MySQL 5.6 Community Server

baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/

enabled=1

gpgcheck=0

3.2mysql配置yum -y install mysql-server mysql-devel

#基本配置,新建密码等

mysql_secure_installation

#登录数据库

mysql -uroot -p$password

#查看用户情况

mysql> select user,host from mysql.user;

+------+-----------+

| user | host     |

+------+-----------+

| root | 127.0.0.1 |

| root | ::1      |

| root | localhost |

| root | test     |

+------+-----------+

4 rows in set (0.03 sec)

#创建一个gitlab管理用户

mysql> CREATE USER ‘git‘@‘localhost‘ IDENTIFIED BY ‘123456‘;

Query OK, 0 rows affected (0.00 sec)

#创建gitlab数据库

mysql> CREATE DATABASE IF NOT EXISTS`gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_general_ci`;

Query OK, 1 row affected (0.00 sec)

#授予git用户对gitlabhq_production数据库所有表的权限

mysql> GRANT SELECT, INSERT, UPDATE, DELETE,CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES, REFERENCES ON`gitlabhq_production`.* TO ‘git‘@‘localhost‘;

Query OK, 0 rows affected (0.00 sec)

#使修改用户生效

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> \q

Bye

#测试新用户是否能连接新的数据库

sudo -u git -H mysql -u git -p -Dgitlabhq_production

Enter password:

Reading table information for completion of tableand column names

You can turn off this feature to get a quickerstartup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 32

Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarks of theirrespective

owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clearthe current input statement.

mysql>

第4章 配置Gitlab连接mysql

4.1修改/etc/gitlab/gitlab.rbpostgresql[‘enable‘] = false

gitlab_rails[‘db_adapter‘] = ‘mysql2‘

gitlab_rails[‘db_encoding‘] = ‘utf8‘

gitlab_rails[‘db_host‘] = ‘127.0.0.1‘

gitlab_rails[‘db_port‘] = ‘3306‘

gitlab_rails[‘db_username‘] = ‘git‘

gitlab_rails[‘db_password‘] = ‘123456‘

按官方文档重新配置gitlab

gitlab-ctl reconfigure

迁移数据库时出现以下错误

ce08ce743f62c9851e7fc04d9273c083.png

第5章 排错步骤

5.1更换gem源#查看gem源

/opt/gitlab/embedded/bin/gem source

*** CURRENT SOURCES ***

https://rubygems.org/

#更换开源中国的gem源,否则使用时会出现错误

/opt/gitlab/embedded/bin/gem sources --addhttps://gems.ruby-china.org/ --remove https://rubygems.org/

#查看更好后的gem源

/opt/gitlab/embedded/bin/gem sources

*** CURRENT SOURCES ***

https://gems.ruby-china.org/

#更改配置Gemfile文件的gem源

vi /opt/gitlab/embedded/service/gitlab-rails/ Gemfile

source ‘https://gems.ruby-china.org‘

5.2bundle install安装更新#此命令会尝试更新系统中已存在的gem包

/opt/gitlab/embedded/bin/bundle install

ed62f3824229eb6561bc31bc6c8baab9.png#执行该命令需要切换到Gemfile上一级目录才可以运行

cd /opt/gitlab/embedded/service/gitlab-rails/

/opt/gitlab/embedded/bin/bundle install

5.3bundle禁止使用postgresqlvi/opt/gitlab/embedded/service/gitlab-rails/.bundle/config

e1a370d14e289aa58f1d9b511aceece5.png

5.4 安装mysql2 “0.3.20”gitlab-rake gitlab:check

2fad1ab7742d0a0cf00a815937ac8d19.png#安装mysql2 0.3.20版本

/opt/gitlab/embedded/bin/gem install mysql2 -v‘0.3.20‘

出错

53d5687ccee99efe9ba8a6028bb584b6.png查看文件后发现没有安装gcc软件,导致不能编译文件。

故需要yum安装gcc

yum install gcc –y

/opt/gitlab/embedded/bin/gem install mysql2 -v‘0.3.20‘

Building native extensions.  This could take a while...

Successfully installed mysql2-0.3.20

Parsing documentation for mysql2-0.3.20

Installing ri documentation for mysql2-0.3.20

Done installing documentation for mysql2 after 1seconds

1 gem installed

5.5重置检查#重新配置

gitlab-ctl reconfigure

#检查

gitlab-rake gitlab:check

85d46bcfd8754724e88ba76b1bed9f7f.png

5.6客户端测试[[email protected] chen]# touch README.md

[[email protected] chen]# git add README.md

[[email protected] chen]# git commit -m "addREADME"

[master(根提交) bed61ad] addREADME

1 filechanged, 0 insertions(+), 0 deletions(-)

create mode100644 README.md

[[email protected] chen]# git push -u origin master

Counting objects: 3, done.

Writing objects: 100% (3/3), 216 bytes | 0 bytes/s,done.

Total 3 (delta 0), reused 0 (delta 0)

To [email protected]:root/chen.git

* [newbranch]      master -> master

分支 master 设置为跟踪来自 origin 的远程分支 master。

6440bced1c2055198526e4073c7a9524.png

成功

参考文档:

https://docs.gitlab.com/ce/install/database_mysql.html

https://docs.gitlab.com/omnibus/settings/database.html#seed-the-database-fresh-installs-only

http://shaonian.blog.51cto.com/2975261/1894664

原文:http://11669719.blog.51cto.com/11659719/1929516

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值