MySQL迁移方案(后续再补充)
出处:黑洞中的奇点 的博客 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迁移方案(后续再补充)的更多相关文章
- Appium Capabilities 详解(Android适配/IOS后续再补充)
Appium 关键字 关键字 描述 实例 automationName 你想使用的自动化测试引擎 Appium (默认) 或 Selendroid platformName 你要测试的手机操作系统 i ...
- 不同场景下 MySQL 的迁移方案
一 目录 一 目录 二 为什么要迁移 三 MySQL 迁移方案概览 四 MySQL 迁移实战 4.1 场景一 一主一从结构迁移从库 4.2 场景二 一主一从结构迁移指定库 4.3 场景三 一主一从结构 ...
- MySQL迁移[转]
http://dbarobin.com/2015/09/15/migration-of-mysql-on-different-scenes/ MySQL 迁移方案概览 MySQL 迁移无非是围绕着数据 ...
- mysql迁移之巨大数据量快速迁移方案
mysql迁移之巨大数据量快速迁移方案-增量备份及恢复 --chenjianwen 一.前言: 当mysql库的大小达到几十个G或者上百G,迁移起来是一件非常费事的事情,业务中断,导出导入耗费大量的时 ...
- 数据从mysql迁移至oracle时知识点记录(一)
最近在做数据的迁移,再将数据从mysql迁移至oracle时,部分sql语句进行了修改,在此对部分知识点进行记录: 参考资料:https://dev.mysql.com/doc/refman/5.5/ ...
- 蚂蚁金服 Service Mesh 渐进式迁移方案|Service Mesh Meetup 实录
小蚂蚁说: 本文是基于在 Service Mesher Meetup 上海站的主题分享<蚂蚁金服 Service Mesh 渐进式迁移方案>内容整理,完整的分享 PPT 获取方式见文章底部 ...
- Ceph 集群整体迁移方案(转)
场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...
- mysql迁移mpp数据库Greenplum
1. 场景描述 因兄弟项目中mysql有点扛不住了,要做sql优化,但是业务有点小复杂,优化起来有点麻烦(sql嵌套有点多),便想着用Mpp数据库Greenplum测试下,看性能和复杂度怎么样,趟趟水 ...
- 将数据从MySQL迁移到Oracle的注意事项
将数据从MySQL迁移到Oracle的注意事项1.自动增长的数据类型处理MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动 ...
随机推荐
- 局域网下的html注入及DNS劫持
之前研究Dsploit的部分功能实现原理,现在了解的差不多了,简要记录下Dsploit的断网攻击,html注入,图片替换,cookie劫持的原理.本篇blog需要有一定的网络知识基础在看. 假设现有三 ...
- 用python的requests第三方模块抓取王者荣耀所有英雄的皮肤
本文使用python的第三方模块requests爬取王者荣耀所有英雄的图片,并将图片按每个英雄为一个目录存入文件夹中,方便用作桌面壁纸 下面时具体的代码,已通过python3.6测试,可以成功运行: ...
- memcached 安装以及在php中使用
最近做的一个项目需要不断对数据库内容进行读取和刷新,所以数据库压力很大,用户数目多的时候响应速度也严重受影响. 于是准备将一部分常用数据通过缓存在服务器内存中,减少对数据库的操作来缓解压力(memca ...
- SQL Server Profiler的使用
最近一个项目,使用微软的Entity Framework的ORM框架的项目,部署到现场后,出现了系统缓慢,多个客户端的内存溢出崩溃的问题. 打开了SQL Server Profiler排查,发现有全表 ...
- javascript变量:全局?还是局部?这个得注意
在JS中.是没有块级作用域的 举两个个样例: if语句块: if (true){ var name='Ling'; } alert(name); 输出:Ling for语句块; for(var ...
- iOS开发-自己定义后台显示图片(iOS7-Background Fetch的应用)
之前在用电池医生的时候, 发现它有这样一个功能:当应用进入后台的时候, 会显示另外一张图片覆盖App Switcher显示的界面. 效果例如以下: 变成----> 而这种一个功能, 对于保护用户 ...
- POJ 2482 Stars in Your Window(线段树)
POJ 2482 Stars in Your Window 题目链接 题意:给定一些星星,每一个星星都有一个亮度.如今要用w * h的矩形去框星星,问最大能框的亮度是多少 思路:转化为扫描线的问题,每 ...
- android项目 之 记事本(11) ----- 加入数据库
本文是自己学习所做笔记.欢迎转载.但请注明出处:http://blog.csdn.net/jesson20121020 通过之前的10节,已实现了记事本的大部分功能,有加入拍照.加入照片,加入录音,加 ...
- 初识homebrew
homebrew是MAC上的一个包管理工具,用于软件安装,非常方便. homebrew安装: 命令行执行: ruby -e "$(curl -fsSL https://raw.githubu ...
- ASP.NET Core 使用 Hangfire 定时任务
定时任务组件,除了 Hangfire 外,还有一个 Quarz.NET,不过 Hangfire .NET Core 支持的会更好些. ASP.NET Core 使用 Hangfire 很简单,首先,N ...