1.背景

近期由于业务调整,需要将Windows Server 2008 MySQL5.5数据库迁移到Windows Server 2012 MySQL8.0集群MGR中,由于实际部署时,有一台机器硬盘损坏,只能构建双节点MGR,在迁移以及应用迁移过程中遇到许多参数与迁移效率问题,特此记录。

2.迁移表单个文件过大

由于有部分数据来源于文本文件,单个文件达到40G之大,且原表为MyISAM存储引擎,由于MGR只支持事务引擎InnoDB,

所以需要修改文本文件头建表语句以及拆分文件,并行导入,使用如下两款软件进行了修改大文件以及拆分:

EmEditor,可以打开超大文件。

Windows Unix增强工具。

3.并行导入遇到问题

第一阶段:由于最开始导入时开启了MGR,由于使用Navicat执行SQL文件方式导入数据,导致由于关闭autocommit,单个事务超大,MGR在最后提交阶段由于网络不稳定,导致验证过长,效率非常底下。

第二阶段:尝试打开autocommit方式,发现由于不停写binlog与数据文件,效率更差。

第三阶段:拆分MGR,将文件传送两个服务器,关闭binlog,分别导入,效率非常高,将1.7亿万,40G数据拆分为20个

文件,分别开20个并行导入,两台机器并行导入,并且将MySQL所有文件迁移到服务器SSD磁盘,40分钟即可完成所有数据导入。

4.导入过程遇到MGR与MySQL参数限制问题

group_replication_transaction_size_limit

# 最大值2147483647,近似2G,在组成MGR进行单事务大量数据导入或更新时,需要考虑该参数影响,有可能由于

该参数设置过小导致最后阶段失败,不过大事务对于MGR确实不太友好,节点互相确认消耗大量网络带宽。

max_binlog_cache_size

# 事务过大,需要相应调大该参数,实测,1000万行数据大约需要3~4G该参数,

# 官方文档不建议设置过大该参数,最大建议4G

5.由于需要导入MyISAM导致MGR数据不一致问题解决

最后数据迁移完毕之后,由于在之前由于导入MyISAM引擎表,临时禁用disable_storage_engines,导致启动MGR之后

有MGR不支持的操作报错:

ERROR 3098 (HY000): The table does not comply with the requirements by an external plugin.

上面报错,MGR中违反MGR限制的报错都报上述错误,并不会具体表述由于详细原因,比如使用对MyISAM表操作,

没有主键唯一键表创建之后,插入数据,都将报上述错误。

MGR不一致问题解决流程如下:

1. 查看集群状态,确定故障节点

SELECT * FROM PERFORMANCE_SCHEMA.REPLICATION_GROUP_MEMBERS;

# 查看集群所有节点状态,找到具体Error或recovering节点。

2.查看故障节点error log

# 查看error log,确定故障gtid,position

3.分析当前读写节点发生问题binlog

# mysqlbinlog命令分析,找到故障执行语句,明确故障原因。

4.查看具体故障发生表大小,状态

(1)确定表大小以及是否经常修改,如果为经常修改大表,则考虑对故障节点利用备份重建

(2)如果表不大或不经常改变,改变可以明确预知时段,可以考虑故障节点reset master,然后设置gtid_purged或者

使用设置gtid_next为故障gtid方式,如果可以正常复制到读写节点当前gtid,然后再在不变时段导出,如果继续报错,则

继续查看是否为故障表,如果是继续跳过,知道可以正常追数据到读写节点当前gtid,记录故障节点show master status

复制点,临时设置故障read_only与super_read_only为off,导入故障节点,然后reset master或设置gtid_next为

show master status记录的gtid,使复制继续,即可修复。

本文由 @狗老大[Vip] 发布于 职涯宝 ,未经作者许可,禁止转载,欢迎您分享文章

mysql将数据导入mgr_MySQL 8.0.20 MGR数据迁移过程以及注意事项相关推荐

  1. 数据导入与预处理-第5章-数据清理

    数据导入与预处理-第5章-数据清理 1. 数据清理概述 1.1 数据清理概述 1.2 什么是缺失值 1.3 什么是重复值 1.4 什么是异常值 2. 数据清理案例 2.1 缺失值处理 2.1.1 缺失 ...

  2. mysql8.0导入备份_mysql8.0.20配合binlog2sql的配置和简单备份恢复的步骤详解

    第一步 安装 1.安装MySQL 2.安装Python3 [root@localhost /]#yum install python3 3.下载binlog2sql文件到本地(文件在百度云盘) [ro ...

  3. Android工具修复属性,Broken Android Data Extraction(安卓数据修复工具) V3.0.20 官方版

    其他相关 Broken,Android,Data,Extraction_百度搜索if(window.bds&&bds.util&&bds.util.setContain ...

  4. python将excel数据导入ppt_使用python将excel数据导入数据库

    因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接丢代码,使用python3,注释比较清楚. ...

  5. 表格数据批量导入html,excel表格数据导入前端table-html中的表格数据怎样导入到ecxel表?...

    如何将excel中的数据自动导入web页面中? 如何将Excel中一个表格的数据导入到另一个表格 DataTable.ImportSheet(FileName,SheetSource,SheetDes ...

  6. android ble蓝牙接收不到数据_Android蓝牙4.0 Ble读写数据详解 -2

    Android蓝牙4.0 Ble读写数据详解 -2 上一篇说了如何扫描与链接蓝牙 这篇文章讲讲与蓝牙的数据传输,与一些踩到的坑. 先介绍一款调试工具,专门调试Ble蓝牙的app.名字叫:nRF-Con ...

  7. osm数据导入mysql_OSM(OpenStreetMap) poi、路网 数据导入 PostgreSQL

    摘要: 标签 PostgreSQL , OSM , osm2pgsql , osm2pgrouting , osmosis 背景 从OpenStreetMap下载地图数据,使用osm2pgsql可以将 ...

  8. 如何将html数据导入excel,怎么把lnternet网页数据导入excel?

    通过Excel的导入数据功能,用户可以将网页上的数据表资料导入Excel工作表,以便进一步加工处理成所需要的数据表.下面就教大家怎么导入数据表. 1.第一步单击菜单"数据'"导入外 ...

  9. python数据导入hive_Python操作HIve,将数据插入到Mysql

    Python操作HIve,将数据插入到Mysql import sys from hive_service import ThriftHive from hive_service.ttypes imp ...

最新文章

  1. HDU 2717 Catch That Cow(BFS)
  2. iMeta | 第1卷第1期在线正式发布(2022/3/28)
  3. sts无法创建java_java – STS无法在我的机器上启动
  4. jconsole_我的Wiki:使用JConsole对WildFly(或JBoss AS7)进行远程JMX访问
  5. 2019年3月未来教育计算机二级题库,2019年3月计算机二Access考试操作模拟试题001...
  6. 小米“祭出” AIoT 神器!| 技术头条
  7. 集成学习(一)——随机森林以及GBDT
  8. android togglebutton 自定义,自定义控件之-----ToggleButton
  9. 深度学习框架中的魔鬼:探究人工智能系统中的安全问题
  10. vmware 里MAC 鼠标能移动 无法单击
  11. css3-10 css3中的边框样式有哪几种
  12. vb6,sql与access 获取当前日期
  13. 普通的Shader-序列帧相关
  14. 屏幕共享技术及相关软件使用测评
  15. rs232读取智能电表_预付费电表高性价比型号推荐 预付费抄表系统免费安装
  16. 中海达数据怎么转rinex_GPS_OEM原始数据向Rinex格式转换的方法
  17. python 中文分析句子成分_英语长难句看不懂,句子成分不会分析?一文轻松搞定...
  18. 奥维查看行政边界_全国乡镇行政区划数据乡镇边界数据查询获取方式
  19. 一度智信电商开网店怎么样?
  20. 微信支付调用第三方系统无返回值的问题

热门文章

  1. 光伏等新能源信用风险事件频繁爆发
  2. centos 断电重启后,文件系统损坏修复
  3. 【HDOJ】1068 Girls and Boys
  4. select 查询例子集
  5. 应用层——使用 Socket 通信实现 FTP 客户端程序
  6. 线程同步与异步套接字编程
  7. 关于C语言野指针的问题
  8. Mybatis源码阅读(三):结果集映射3.1 —— ResultSetBuilder与简单映射
  9. Tomcat 内存调大
  10. oracle中查询某张表的大小