天天看點

GitHub線上MySQL DDL工具gh-ost安裝文檔

源文位址

檢視gh-ost官方文檔,以及google一圈都沒有發現gh-ost的安裝文檔,于是,還是自己動手,豐衣足食吧==

Linux系統:Debian8.5

go版本:1.5

gh-ost版本:1.0.28

注:gh-ost是基于go1.5編譯的。

go源碼安裝

# 安裝go依賴包
sudo apt-get install bison ed gawk gcc libc6-dev make

# 配置go環境變量,GOROOT為go源碼目錄,GOPATH為gh-ost這個工程的目錄
vim ~/.bashrc
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/usr/local/go/src/github.com/github/gh-ost

# 使環境變量生效
source ~/.bashrc

# 擷取+解壓go源碼安裝包,go下載下傳位址:https://golang.org/dl/
wget https://storage.googleapis.com/golang/go1.src.tar.gz
tar -zxvf go1.src.tar.gz -C /usr/local/
# 此時是go的安裝目錄為/usr/local/go

# 驗證go安裝成功
go env
# 結果展示
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/usr/local/gh-ost/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
           

gh-ost源碼安裝

# 在go安裝目錄下建立github.com/github/目錄
mkdir -p /usr/local/go/src/github.com/github
# 别問我為什麼要這樣做,我這種go小白,隻要安裝出來就行,深入原因自己解決吧==

# 擷取+解壓gh-ost源碼安裝包,gh-ost下載下傳位址:https://github.com/github/gh-ost/releases/tag/v1.0.28
wget https://codeload.github.com/github/gh-ost/tar.gz/v1
unzip gh-ost-.zip -d /usr/local/go/src/github.com/github
cd /usr/local/go/src/github.com/github
mv gh-ost- gh-ost

# gh-ost源碼安裝
cd /usr/local/go/src/github.com/github/gh-ost
/bin/bash build.sh
# 結果展示
Building GNU/Linux binary
Binaries found in:
/tmp/gh-ost/gh-ost-binary-linux-tar.gz

tar -zxvf /tmp/gh-ost/gh-ost-binary-linux-tar.gz -C /usr/local
ln -s /usr/local/gh-ost /usr/bin/gh-ost

# 驗證gh-ost安裝成功
gh-ost -version

gh-ost --help
# 結果會輸出一堆參數,gh-ost參數待以後詳解