MySQL 在线模式迁移工具gh-ost用法

gh-ost 是 GitHub 开源的一款 MySQL 在线模式迁移工具。它允许你在数据库仍在运行并处理事务的同时,执行非阻塞的 ALTER TABLE 操作。

以下是 gh-ost 的基本用法:

首先,安装 gh-ost。你可以从 GitHub Release 页面 下载最新版本的二进制文件,或者如果你有 Go 环境,你也可以使用 go get 来安装:

go get github.com/github/gh-ost

然后,你可以使用 gh-ost 命令来进行在线模式迁移。以下是一个基本的示例:

gh-ost \
--max-load=Threads_running=25 \
--critical-load=Threads_running=1000 \
--chunk-size=1000 \
--throttle-control-replicas="mysql1,mysql2" \
--max-lag-millis=1500 \
--user="db_user" \
--password="db_password" \
--host=localhost \
--database="my_database" \
--table="my_table" \
--verbose \
--alter="ADD COLUMN my_column TIMESTAMP NOT NULL" \
--execute

在这个例子中,我们对 "my_table" 表添加了一个新的列 "my_column"。参数 --max-load--critical-load 用于控制负载阈值,在超过设定阈值时会暂停和停止迁移操作。--chunk-size 控制每次复制的行数。--throttle-control-replicas 列出了用于监控复制延迟的从库。--max-lag-millis 设置了允许的最大复制延迟。--alter 指定了要执行的 ALTER TABLE 语句。最后,--execute 表示开始执行迁移。

在使用 gh-ost 时,你需要确保对应的数据库和表存在,而且需要有足够的权限来执行模式更改和数据复制。一般情况下,你应该先在测试环境中尝试和验证迁移操作,在确认无误后再在生产环境中执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值