首页 > 问答 > 关键词  > MySQL最新资讯  > 正文

MySQL传统点位复制在线转为GTID模式复制

2020-07-13 13:58 · 稿源:数据库干货铺

1. GTID优缺点

MySQL传统点位复制在5. 7 版本前是主要的主从复制模式,而随着MySQL5. 6 版本引入GTID,并且MySQL5. 7 进行各方面的优化以后,在mySQL5.7(尤其是MySQL5.7.6)版本后GTID模式的主从复制方式成为一个新的选择方式。要使用GTID模式,首先也需知其优缺点,其主要的优缺点如下:

1.1 优点

a) 更简单的实现failover,无需找log_file和log_Pos。

b) 更简单的搭建主从复制。

c) 复制集群有一个统一的方式识别复制位置,给集群管理带来了便利。

d) 正常情况下,GTID是连续没有空洞的,因此主从库出现数据冲突时,可以用添加空事物的方式进行跳过

1.2限制

a) 在一个事务里面混合使用引擎如Innodb(支持事务)、MyISAM(不支持事务), 造成多个GTIDs和同一个事务相关联出错

b) CREATE TABLE…..SELECT 不能使用,该语句产生的两个event在某一情况 会使用同一个GTID(同一个GTID在slave只能被使用一次),使用时会报如下错误:

错误代码:1786StatementviolatesGTIDconsistency:CREATETABLE...SELECT.

需改为 create table like tb; insert into tb ... select 方式处理

c) CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE 不能在事务内使用 (启用了--enforce-gtid-consistency参数)

2. 传统点位复制在线转为GTID模式复制

2.1 在线调整的条件

a) 要求MySQL 5.7. 6 及以后版本。

b) 所有组中节点的gtid_mode 为off状态。

2.2 在线调整

2.2.1 查看当前状态

/**传统复制下enforce_gtid_consistencygtid_mode均为OFF**/mysql>showglobalvariableslike'enforce_gtid_consistency';+--------------------------+-------+|Variable_name|Value|+--------------------------+-------+|enforce_gtid_consistency|OFF|+--------------------------+-------+1rowinset(0.00sec)
mysql>showglobalvariableslike'gtid_mode';+---------------+-------+|Variable_name|Value|+---------------+-------+|gtid_mode|OFF|+---------------+-------+1rowinset(0.00sec)

2.2.2 修改enforce_gtid_consistency

所有节点均先将其修改为 WARN,同时注意查看日志是否出现警告信息,生产环境想调整为GTID模式时,需提前一段时间调整此参数,观察一段时间,确定无警告后再调整。

/**所有节点均调整,主从无先后顺序**/mysql>setglobalenforce_gtid_consistency=warn;
QueryOK,0rowsaffected(0.00sec)

开启后观察数据库日志,只有在无警告的情况下才可以进行后续的操作。

2019-10-13T06:00:19.723310Z10588[Note]ChangedENFORCE_GTID_CONSISTENCYfromOFFtoWARN.

2.2.3 修改enforce_gtid_consistency = on

将各节点enforce_gtid_consistency 设置为 on,不分顺序,但需要全部执行完毕后再进行下一步

mysql>setglobalenforce_gtid_consistency=on;
QueryOK,0rowsaffected(0.00sec)

2.2.4 修改gtid_mode = off_permissive

将各节点gtid_mode设置为 off_permissive,不分顺序,但需要全部执行完毕后再进行下一步

mysql>setglobalgtid_mode=off_permissive;
QueryOK,0rowsaffected(0.00sec)

2.2.5 修改gtid_mode=on_permissive

建议先修改从库的gtid_mode为on_permissive,之后再修改主库的。此步骤执行完毕后生成的日志是带GTID的

mysql>setglobalgtid_mode=on_permissive;
QueryOK,0rowsaffected(0.01sec)

2.2.6 查看状态

/**确定传统方式复制完毕,此时各节点Ongoing_anonymous_transaction_count状态为0**/mysql>showstatuslike'ongoing_anonymous_transaction_count';+-------------------------------------+-------+|Variable_name|Value|+-------------------------------------+-------+|Ongoing_anonymous_transaction_count|0|+-------------------------------------+-------+1rowinset(0.00sec)
/**切换日志**/mysql>flushlogs;QueryOK,0rowsaffected(0.16sec)

需要所有的节点ongoing_anonymous_transaction_count均为0.

2.2.7 启用gtid_mode

前面的步骤确认正常后,各节点开启GTID_MODE

mysql>setglobalgtid_mode=on;
QueryOK,0rowsaffected(0.01sec)

2.3 将传统复制转为GTID模式

停止原有复制,切换为gtid模式后,设置为自动查找位置复制。

ql>stopslave;
QueryOK,0rowsaffected(0.00sec)
mysql>changemastertomaster_auto_position=1;
QueryOK,0rowsaffected(0.01sec)
mysql>startslave;
QueryOK,0rowsaffected(0.01sec)

修改后复制即变为gtid模式。

mysql>SHOWGLOBALVARIABLESLIKE'%gtid%';+----------------------------------+--------------------------------------------------------------------------------------------+|Variable_name|Value|+----------------------------------+--------------------------------------------------------------------------------------------+|binlog_gtid_simple_recovery|ON||enforce_gtid_consistency|ON||gtid_executed|e29d3917-9dbb-11e9-8b64-e4434b6e2c80:1-93632,
e595a4ee-9dbb-11e9-a0f5-e4434b6e3094:1-30042||gtid_executed_compression_period|1000||gtid_mode|ON||gtid_owned|||gtid_purged|e29d3917-9dbb-11e9-8b64-e4434b6e2c80:1-4803,
e595a4ee-9dbb-11e9-a0f5-e4434b6e3094:1-30042||session_track_gtids|OFF|+----------------------------------+--------------------------------------------------------------------------------------------+8rowsinset(0.01sec)

3. 修改配置文件

在配置文件中添加GTID相关参数,涉及到gtid的参数如下:

server-id:每个MySQL实例的ID值,不能相同。必选项
gtid_mode=ON:MySQL是开启GTID模式.
enforce-gtid-consistency=on:开启GTID复制是,保证GTID的一致性.log-bin:MySQL必须开启binlog.
binlog_format=row:MySQLbinlog的事实标准,其他格式会导致数据丢失.log-slave-updates=on:级联复制,当slave接受到master的更新且执行完毕之后,执行的binlog是否写入slave的binlog记录中.

本文转载自微信公众号【数据库干货铺】。

举报

  • 相关推荐
  • 忆联 Docker+MySQL 流控方案:打造安全高效存储底座,释放 AI 极致性能

    文章探讨了在AI时代背景下,基于Docker部署MySQL数据库的高效解决方案。通过Docker容器化技术,MySQL实现了灵活部署、资源高效利用和稳定隔离性,成为AI应用的首选数据库方案。测试结果显示,采用PCIe5.0企业级SSD配合Namespace技术和QoS优化策略,能精准控制性能偏差在2%以内,在混合读写场景下更可控制在1%以内。该方案显著提升了存储资源管理效率,为AI应用提供稳定可靠的数据存储支持,同时降低企业TCO成本,推动数据价值释放。

  • TikTok电商抢滩日本,有哪些机遇和挑战?

    ​TikTok电商全球化布局再落一子。 6月30日,TikTok正式在日本上线电商业务,核心模式为直播带货。品牌、卖家及创作者可通过发布含购物功能的视频或直播,在TikTok内直接销售商品。 在东南亚、美区等市场,TikTok电商已证明了其直播带货模式的爆发力。如今全球化布局再下一城,给从业者带来了哪些新的机遇和挑战? TikTok Shop在日本上线 早在4月28日,TikTok日本正式宣布推出

  • Android 16安全升级,将警示用户Stingray监控、伪基站等安全风险

    在即将推出的 Android 16 系统中,谷歌为用户隐私又上了一道“防火墙”:这一次,目标是伪基站(又称 Stingray 设备)。

  • 空调连夜工作突然起火 凌晨2点把房间烧了

    夏日炎炎,空调成了许多人续命”的神器,但它也有脾气”,稍不注意就可能引发危险。 近日,江西萍乡就发生了一起因空调短路导致的火灾,所幸未造成人员伤亡。 据萍乡消防消息,事发当天凌晨2时许,当地一民房的二楼卧室突然燃起大火。熊熊烈火让整个房间被烧得通红,浓烟不断从窗户缝隙中涌出,情况十分危急。 消防员接到报警后迅速赶到现场,立即架起水枪展�

  • 金融 / 汽车行业争先引入!Testin 云测 AI 测试方案成产业刚需

    文章概述了AI技术正在重塑软件测试行业格局,重点介绍了Testin云测在AI测试领域的创新成就。该公司凭借自主研发的Testin XAgent智能测试系统,实现了自然语言生成测试脚本和智能诊断分析两大技术突破,大幅提升测试效率。其解决方案已成功应用于金融、汽车等行业,助力企业数字化转型。Testin云测通过构建覆盖全生命周期的智能质量保障体系,推动软件测试从成本中心向价值创新引擎转型,引领行业迈向智能化新时代。

  • AI日报:智谱上线PPT生成功能AI Slides;可灵 AI 发布可图2.1模型

    本文介绍了AI日报栏目及近期AI领域多项突破性进展:1)智谱推出免费AI Slides工具,基于GLM模型快速生成高质量PPT;2)可灵AI发布可图2.1模型,支持180多种风格图像生成;3)NVIDIA推出DiffusionRenderer技术,实现视频到可编辑3D场景转换;4)墨刀AI新增30秒生成高保真原型功能;5)Higgsfield推出Soul ID工具,10张照片即可生成虚拟形象;6)谷歌DeepMind开源GenAI Processors工具库;7)谷歌Veo新增图像转视频功能;8)Mistral AI发布专为代码建模的Devstral2507系列模型。这些创新展示了AI在内容生成、3D建模、产品设计等领域的快速发展。

  • 传统抗衰遇瓶颈?免疫细胞抗衰正引领一场关于青春与健康的新革命

    免疫细胞抗衰技术正成为全球健康新趋势。2023年《自然·衰老》研究显示,基因改造的CAR-T细胞能靶向清除衰老细胞,显著改善老年小鼠代谢功能,单次注射可提供15个月保护效果。欧美国家凭借技术优势率先布局,我国也在政策支持下加速科研成果转化。免疫细胞存储服务兴起,博雅干细胞库等机构通过国际认证,为用户提供符合标准的细胞保存方案。市场反馈显示,这项技术已成为高净值人群健康管理首选,未来或将在更广泛人群中普及。科技让人类有望通过保存年轻时的免疫细胞,为未来抗衰需求预留"生物弹药库"。

  • 准确率92%!苹果新模型可通过行为模式预测怀孕

    据媒体报道,苹果公司联合美国心脏协会和哈佛医学院布莱根妇女医院,在健康预测领域取得重大突破,推出基于行为数据的可穿戴模型WBM(Wearable Behavior Model)。 这项研究标志着健康监测从传统生物指标(如心率、血氧)向行为数据分析的拓展,为疾病预测提供了全新视角。 研究团队利用超过25亿小时的可穿戴设备数据训练WBM模型,使其能够从步数、活动能力等高层次行为

  • 技嘉科技 STEALTH Revolution 玩转简约装机美学 力邀创作者打造纯白梦幻桌机

    技嘉科技推出STEALTH Revolution活动,主打纯白美学装机概念。活动以X870AORUS STEALTH ICE主板为核心,邀请全球创作者打造个性化桌机。该系列采用背插式设计,简化装机流程,释放机箱空间,便于展示水冷设备和RGB灯效。新品涵盖X870/B850主板、RTX5090显卡及全景机箱等,联合10余家机箱品牌推出20余款兼容产品。活动提供限量主板供参赛者使用,并开放大众投票评选优秀作品,参与者有机会赢取丰厚奖品。技嘉旨在推动"背插主板×纯白机身"的装机新潮流,满足市场对简约风格的需求。

  • 力量解限,键启豹发力!八位堂×《解限机》Retro 87黑豹联名键盘震撼登场

    八位堂与《解限机》联名推出Retro87黑豹机械键盘,售价699元。键盘采用87键布局,融入黑豹机甲元素设计,配备凯华Pro机械轴体,支持三模连接和RGB灯效。产品主打"外观性能双突破",双层消音结构降低噪音,4000mAh电池续航达300小时。首发预购赠送限定周边,将游戏科幻美学与工业艺术结合,打造收藏级桌面装备。这款联名键盘既满足游戏需求,也体现了科技与美学的融合。