MySQL在线DDL工具gh-ost的使用总结:
1. 安装gh-ost
下载gh-ost的二进制文件,然后将其添加到PATH路径:
wget https://github.com/github/gh-ost/releases/download/v1.1.0/gh-ost_1.1.0_linux_amd64.tar.gz tar -xvf gh-ost_1.1.0_linux_amd64.tar.gz mv gh-ost /usr/local/bin/
2. 启动gh-ost格式:
gh-ost -server-id=101 -database=test -table=gh_ost_test -alter="ADD COLUMN c3 INT AFTER c2"
这个命令会在表gh_ost_test上添加一列c3,gh-ost会先创建一个临时表,然后将数据复制过去,完成后再将原表更名,最后将临时表重命名为原表名。
3. 查看gh-ost状态
通过命令可以查看gh-ost的操作状态:
gh-ost -server-id=101 -database=test -table=gh_ost_test --show-state
4. 暂停/恢复gh-ost
如果需要暂停gh-ost的执行,可以使用–throttle,然后使用–unthrottle恢复:
gh-ost -server-id=101 -database=test -table=gh_ost_test --throttle gh-ost -server-id=101 -database=test -table=gh_ost_test --unthrottle
5. gh-ost特性
– 支持ADD COLUMN、DROP COLUMN、MODIFY COLUMN、CHANGE COLUMN等在线DDL操作
– 支持指定数据复制的过滤条件,只同步满足条件的数据
– 支持同时操作多个表
– 对InnoDB表完全透明,不影响业务访问
– 操作过程中可以暂停和恢复
– 支持携带binlog进行灾难恢复
– 具有故障转移和自动恢复能力
gh-ost是MySQL在线DDL操作的秘密武器,使用gh-ost可以无感知地完成MySQL的架构变更,对业务零影响,是MySQL运维过程中不可或缺的工具。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录