gh-ost安装部署
环境:
Os:Centos 7
gh-ost:1.1.10
1.下载
下载地址
192.168.1.14
https://github.com/github/gh-ost/releases/
cd /soft
wget --no-check-certificate https://github.com/github/gh-ost/releases/download/v1.1.10/gh-ost-binary-linux-amd64-20260604164252.tar.gz
2.创建安装目录
mkdir -p /opt/gh-ost
3.解压安装
cd /soft
tar -xvf gh-ost-binary-linux-amd64-20260604164252.tar.gz
mv gh-ost /opt/gh-ost/
4.查看是否安装成功
[root@es gh-ost]# /opt/gh-ost/gh-ost --version
1.1.10 (git commit: 835f5379afe7318d80d4f347016e3d81721327c7)
5.例子(主库执行)
干跑
/opt/gh-ost/gh-ost \
--allow-on-master \
--chunk-size=10000 \
--user=root \
--password='hxl3040' \
--host='192.168.1.113' \
--port=3306 \
--database="db_test" \
--table="t_order_hxl" \
--verbose \
--alter="alter table t_order_hxl add column name4 varchar(32), add column name5 varchar(32)" \
--assume-rbr \
--cut-over=default \
--cut-over-lock-timeout-seconds=5 \
--dml-batch-size=10 \
--concurrent-rowcount \
--default-retries=10 \
--heartbeat-interval-millis=2000 \
--timestamp-old-table \
--initially-drop-socket-file \
--initially-drop-ghost-table \
--throttle-flag-file=/tmp/gh-ost.throttle \
--skip-metadata-lock-check
真正跑
/opt/gh-ost/gh-ost \
--allow-on-master \
--chunk-size=10000 \
--user=root \
--password='hxl3040' \
--host='192.168.1.113' \
--port=3306 \
--database="db_test" \
--table="t_order_hxl" \
--verbose \
--alter="alter table t_order_hxl add column name4 varchar(32), add column name5 varchar(32)" \
--assume-rbr \
--cut-over=default \
--cut-over-lock-timeout-seconds=5 \
--dml-batch-size=10 \
--concurrent-rowcount \
--default-retries=10 \
--heartbeat-interval-millis=2000 \
--timestamp-old-table \
--initially-drop-socket-file \
--initially-drop-ghost-table \
--throttle-flag-file=/tmp/gh-ost.throttle \
--skip-metadata-lock-check \
--execute
执行完成后会生成备份表,如下:
_t_order_hxl_20261013174313_del
需要手工删除,自动删除的话就,需要加上这个参数 --ok-to-drop-table
脚本执行
add_column_by_ghost.sh
#!/bin/bash
/opt/gh-ost/gh-ost \
--allow-on-master \
--chunk-size=10000 \
--user=root \
--password='hxl3040' \
--host='192.168.1.113' \
--port=3306 \
--database="db_test" \
--table="t_order_hxl" \
--verbose \
--alter="alter table t_order_hxl add column name4 varchar(32), add column name5 varchar(32)" \
--assume-rbr \
--cut-over=default \
--cut-over-lock-timeout-seconds=5 \
--dml-batch-size=10 \
--concurrent-rowcount \
--default-retries=10 \
--heartbeat-interval-millis=2000 \
--timestamp-old-table \
--initially-drop-socket-file \
--initially-drop-ghost-table \
--throttle-flag-file=/tmp/gh-ost.throttle \
--skip-metadata-lock-check \
--execute
浙公网安备 33010602011771号