出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读。本文版权归作者所有,欢迎转载,但请保留该声明。

1 Master - 1 Slave 结构迁移Slave

  • 查看监控在业务低访问量时Master 压力大还是Slave压力大, 使用xtrabackup 备份 , 如果是从Slave备份带上 " --slave-info " 参数 , SCP 传输到 C-Slave ( 后备从库 )  , 然后在 C-Slave 进行恢复操作并且Change Master 到 Master , 停Slave ,
  • 使用pt-table-sync , pt-table-checksum 数据校验 ,最后把读业务的应用切换到C-Slave ,
  • 这样做主从库受影响少,对Slave进行备份读库操作和流备份写盘操作,流备份只对网络有影响 ,一般服务器都有多个网卡, 有划分为业务端口,管理端口,其他用途端口

解决  rsync 从库前要把应用切换读操作到Master , 增加Master访问压力,没有人能够预计在低访问量时候会不会突然增加.

1 Master - 1 Slave 结构完整迁移1 Master - 1 Slave

  • 查看监控在业务低访问量时Master 压力大还是Slave压力大, 使用xtrabackup 备份 , 如果是从Slave备份 带上 " --slave-info " 参数 , SCP 传输到 C-Master ( 后备主库 ) 和  C-Slave ( 后备从库 )
  • 然后在 C-Master 进行恢复操作并且Change Master 到 Master 、 C-Slave 进行恢复操作并且reset master 和 Change Master 到 C-Master , 这时候 C-Master 和 C-Slave 数据是一样的 ,待C-Master跟Master数据同步完成把业务应用切换到C-Master 和C-Slave
  • 这样做主从库受影响少,对Slave进行备份读库操作和流备份写盘操作,流备份只对网络有影响 ,一般服务器都有多个网卡, 有划分为业务端口,管理端口,其他用途端口

为什么不使用mydumper 或者mysqldump 导出库呢?

针对水平和垂直分库分表进行指定库或者指定表迁移

原Master – Slave 已经进行对库垂直拆分和水平拆分 , 由于业务访问量增长过多,服务器硬件限制,再对库和表进行垂直拆分和水平拆分也不能解决访问压力,从而进行物理上水平拆分,也需要应用上进行跨库跨节点进行join

  • 查看监控在业务低访问量时Master 压力大还是Slave压力大, 使用xtrabackup 备份 , 如果是Slave 带上 " --slave-info " 参数 , 另外使用 ‘ --databases="database1.mytable1 .... mysql" ‘ 参数进行指定库和指定表进行备份但不能进行流备份,两个功能暂时有冲突,只能文件级别备份再用rsync或者scp 进行复制,此时C-Master-1和C-Slave-1备份数据是一样的, C-Master-2和C-Slave-2备份数据一样。
  • 分别对表和库进行备份传输到C-Master-*和C-Slave-*后进行恢复,C-Slave-* 要reset master , C-Master-1和C-Master-2要change master 到 Master , C-Slave-* 要change master 到所连接的C-Master
  • 待C-Master-*跟Master数据同步完成把业务应用切换
  • 这样做影响业务最少, 还是那句话 没有人能够预计在低访问量时候会不会突然增加.

注意事项:

每台机器的 server_id 必须保证不一致,否则会出现同步异常的情况 , 配置 replicate-ignore-db 和 replicate-wild-do-table , 从库记得把 read_only = 1 加上

MySQL迁移方案(后续再补充)的更多相关文章

  1. Appium Capabilities 详解(Android适配/IOS后续再补充)

    Appium 关键字 关键字 描述 实例 automationName 你想使用的自动化测试引擎 Appium (默认) 或 Selendroid platformName 你要测试的手机操作系统 i ...

  2. 不同场景下 MySQL 的迁移方案

    一 目录 一 目录 二 为什么要迁移 三 MySQL 迁移方案概览 四 MySQL 迁移实战 4.1 场景一 一主一从结构迁移从库 4.2 场景二 一主一从结构迁移指定库 4.3 场景三 一主一从结构 ...

  3. MySQL迁移[转]

    http://dbarobin.com/2015/09/15/migration-of-mysql-on-different-scenes/ MySQL 迁移方案概览 MySQL 迁移无非是围绕着数据 ...

  4. mysql迁移之巨大数据量快速迁移方案

    mysql迁移之巨大数据量快速迁移方案-增量备份及恢复 --chenjianwen 一.前言: 当mysql库的大小达到几十个G或者上百G,迁移起来是一件非常费事的事情,业务中断,导出导入耗费大量的时 ...

  5. 数据从mysql迁移至oracle时知识点记录(一)

    最近在做数据的迁移,再将数据从mysql迁移至oracle时,部分sql语句进行了修改,在此对部分知识点进行记录: 参考资料:https://dev.mysql.com/doc/refman/5.5/ ...

  6. 蚂蚁金服 Service Mesh 渐进式迁移方案|Service Mesh Meetup 实录

    小蚂蚁说: 本文是基于在 Service Mesher Meetup 上海站的主题分享<蚂蚁金服 Service Mesh 渐进式迁移方案>内容整理,完整的分享 PPT 获取方式见文章底部 ...

  7. Ceph 集群整体迁移方案(转)

    场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...

  8. mysql迁移mpp数据库Greenplum

    1. 场景描述 因兄弟项目中mysql有点扛不住了,要做sql优化,但是业务有点小复杂,优化起来有点麻烦(sql嵌套有点多),便想着用Mpp数据库Greenplum测试下,看性能和复杂度怎么样,趟趟水 ...

  9. 将数据从MySQL迁移到Oracle的注意事项

    将数据从MySQL迁移到Oracle的注意事项1.自动增长的数据类型处理MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动 ...

随机推荐

  1. Linux 进程间通信(包含一个经典的生产者消费者实例代码)

    前言:编写多进程程序时,有时不可避免的需要在多个进程之间传递数据,我们知道,进程的用户的地址空间是独立,父进程中对数据的修改并不会反映到子进程中,但内核是共享的,大多数进程间通信方式都是在内核中建立一 ...

  2. java多线程核心技术——第四章总结

    第一节使用ReentrantLock类 1.1使用ReentrantLock实现同步:测试1 1.2使用ReentrantLock实现同步:测试2 1.3使用Condition实现等待/同步错误用法与 ...

  3. (二)—Linux远程连接与常用命令

    要学linux ,一定得用命令界面的,怎么也得是shell语言,用就最难最原始的,用的人都是专家,历史最少也得30年,不管有三七二十一上来就敲ls ,先看看当前目录都有什么.一口专业的linux范儿, ...

  4. 并发与并行的区别 The differences between Concurrency and Parallel

    逻辑控制流 在程序加载到内存并执行的时候(进程),操作系统会通过让它和其他进程分时段占用CPU(CPU slices)让它产生自己独占CPU的假象(同时通过虚拟内存让它产生独占内存的假象).在CPU在 ...

  5. Android - include属性用法

    include属性用法 本文地址: http://blog.csdn.net/caroline_wendy Android的layout中, 能够使用include属性样式, 这样能够把不同的layo ...

  6. Android中关于JNI 的学习(三)在JNI层訪问Java端对象

    前面两篇文章简介了JNI层跟Java层的一些相应关系,包含方法名,数据类型和方法名称等,相信在理论层面.可以非常好地帮助我们去了解JNI在Native本地开发中的作用,对JNI的一些概念也有了一个初步 ...

  7. as 与 is

    在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别:在视图(VIEW)中只能用AS:在游标(CURSOR)中只能用IS.

  8. laravel会话驱动扩展—连接自定义会话管理系统

    laravel 版本:5.3.* 用laravel开发公司信息系统过程中,由于业务或安全问题的考虑,会有一些特殊的用户会话管理方面的需求,如多个子系统会话统一管理或A系统业务操作导致B系统中某些在线用 ...

  9. SharePoint Patterns and Practices 简介

    作者:陈希章 发表于 2017年12月22日 SharePoint Patterns and Practices,以下简称PnP,是由微软的SharePoint产品组发起并主持的一个有关SharePo ...

  10. 用枚举来处理java自定义异常

    在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeExceptio ...