在线更改MySQL表结构工具gh-ost的特点介绍
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,无触发器:这也是其他工具最受诟病之处。触发器方案会对MySQL的性能造成比较大的影响,严重时甚至会拖垮主库。轻量级:gh-ost获取数据表修改操作的方法是伪装成从库连入,获取并解析二进制日志,对临时表
千家信息网最后更新 2025年01月20日在线更改MySQL表结构工具gh-ost的特点介绍
- 无触发器:这也是其他工具最受诟病之处。触发器方案会对MySQL的性能造成比较大的影响,严重时甚至会拖垮主库。
- 轻量级:gh-ost获取数据表修改操作的方法是伪装成从库连入,获取并解析二进制日志,对临时表插入数据也是增量、可控制的,因此对MySQL主库的性能几乎无影响。
- 可暂停:当原主库处于业务高峰期时,完全可以暂停gh-ost的操作,暂停就意味着对主库没有写入和更新,这是非常受欢迎的。
- 动态可控:gh-ost的操作不但可以暂停,还可以动态修改,因此在各种情况下修改了配置之后都不必从头开始重新运行整个修改过程,这是非常节约资源的。
- 可审计:gh-ost的状态是可以非常容易获取到的,包括当前任务进度、主要配置参数、相关MySQL实例的情况等。gh-ost通过监听TCP或者unix socket文件来获取命令,因此就给了运维人员极大的灵活性。
- 可测试:gh-ost支持在从库上进行测试,以观察对系统负载的影响、验证正确性等。GitHub生产环境的每一张表都这样用gh-ost在从库上做过好多次修改测试,他们也呼吁大家用这种方式先体验gh-ost的功能,再考虑上线应用。
- 可靠性高:经过充分的测试之后,现在GitHub生产环境的修改表定义操作已经全部由gh-ost完成了,而且它还有暂停、延迟切换、准确估计任务进度等功能,审计和在线控制功能可以让它轻松地与监控系统结合起来,必然非常受运维人员喜爱。
- 完美解决切换问题:表切换操作是在线修改表定义的最后一步,其它工具操作到这一步时常常会出现各种问题。Facebook OSC也曾详细分析过这个问题,但它的最终方案是个非原子性切换:先把原始表改名,再把临时表改名顶上。可惜在两次改名中间会有一小段表不存在的时间,在这期间运行的业务语句都会失败,因为目标表不存在。Shlomi等经过严密的论证和实验,给出了原子性的两阶段切换方案:用一条连接去持有锁,另一条连接做原子性的rename操作。在rename操作之前,会创建一张信号表,用它来阻塞rename操作,直到所有要求的表切换前提条件就绪。根据这个方案,表切换或者成功,皆大欢喜;或者失败,则对业务无影响,也不会丢失数据,还会释放锁让业务继续,DBA只需要再一次用gh-ost重新尝试切换即可。
切换
业务
方案
功能
原子
数据
问题
测试
工具
在线
人员
任务
动态
性能
情况
环境
系统
触发器
这是
进度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
设数据库
软件开发各阶段所用工具
巨杉数据库公司
zend 配置服务器
网络安全预防电信诈骗手抄报
做网络安全的一般用什么语言
运城网络技术公司是干嘛的
台式服务器硬盘
成都九宫格网络技术有限公司
数据库自反律举例
网络安全策略是保障
软件开发受计算机系统限制吗
access 数据库技术题
安全监控数据库保存几年的
户led屏网络安全要求
软件开发部门工作奖惩
违反网络安全第27条
焦作易兴网络技术有限公司
陕西浪潮服务器维修系统虚拟主机
网络安全计划高中英语作文
linux常用软件开发工具
管家婆资产管理服务器设置
.《网络安全法》的特点
临夏市网络安全宣传周
串口连上后如何测试数据库
网络安全实时监控系统
质量好的存储服务器销售电话
基于数据库的创业项目
求答案软件开发
网络安全风险评估服务能力
- 上一篇
Oracle11.2.0.4 windows32+64bit path补丁21+11.2.0.4.160419 p22064588 p22839608
2016年6月3日最新补丁-Oracle11.2.0.4 for windows32+64bit,p22064588 patch21.2.0.4.21,p22839608 11.2.0.4.16041
- 下一篇
为什么把ubuntu16.04设置mysql的编码为utf8
这篇文章主要介绍了为什么把ubuntu16.04设置mysql的编码为utf8,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ubunt