千家信息网

Galera Cluster大坑的解决方案

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,有些同学在使用Galera Cluster之后,会发现有一些坑,如:1)大表DDL操作会导致整个集群不可用。在DDL操作完成前集群都不可写入任何事务,导致服务不可用。解决方案:直接使用pt-onlin
千家信息网最后更新 2025年11月07日Galera Cluster大坑的解决方案

有些同学在使用Galera Cluster之后,会发现有一些坑,如:
1)大表DDL操作会导致整个集群不可用。在DDL操作完成前集群都不可写入任何事务,导致服务不可用。

解决方案:
直接使用pt-online-schema工具进行操作,可以避开这个问题。

2)由于Galera Cluster在执行DDL时,是Total Ordered Isolation(wsrep_OSU_method=TOI)的,所以必须要保证每个节点都是同时执行的,当然对于不是DDL的,也是Total Order的,因为每一个事务都具有同一个GTID值,DDL也不例外,而DDL涉及到的是表锁,MDL锁(Meta Data Lock),只要在执行过程中,遇到了MDL锁的冲突,所有情况下,都是DDL优先,将所有的使用到这个对象的事务,统统杀死,不管是读事务,还是写事务,被杀的事务都会报出死锁的异常,所以这也是一个Galera Cluster中,关于DDL的闻名遐迩的坑。

解决方案:
可以使用滚动升级方式在每个节点上分别执行DDL操作,这样就可以避开上面的问题。操作如下:

SET wsrep_OSU_method='RSU';

ALTER TABLE test ADD COLUMN user_age tinyint;

SET wsrep_OSU_method='TOI';

即先在节点上修改实例升级方式为滚动升级(Rolling Schema Upgrade),然后再执行DDL语句,最后再将实例升级方式修改回去。

事务 升级 方式 节点 方案 解决方案 实例 问题 集群 闻名遐迩 同学 同时 对象 工具 情况 语句 过程 还是 遐迩 面的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 海岛奇兵游戏服务器 网络安全实用书籍推荐 南通公安网络安全 网络服务器配置与管理期末考试 十三五网络安全规划意义 数据库几种安全机制 浪潮软件开发岗位怎么样 随州软件开发推荐 成都云服务器 服务器装上电脑 数据库安全sql执行权限 软件开发的中期影响 江门通讯软件开发价目表 鼓楼区提供软件开发专业服务 服务器配置与管理关闭报错 承载网络技术支撑是干嘛的 文职报名回执下载服务器异常 sql免费数据库 大足区网络软件开发流程要求 我的世界大佬的生存服务器 大学生软件开发策划书 辽宁智慧社区软件开发公司 北京浴客互联网科技有限公司 php数据库密码加密 服务器配置不足如何设置 如何去除数据库的加密功能 如何修改传奇数据库文件夹里 句容小许网络技术 客户机远程域控服务器提示未加密 黑客可以入侵到游戏的服务器吗
0