Q: Transfer是什么

A: 是一个解决MySQL原生主从同步延迟的方案。 Transfer本身是一个在MySQL源码上打的patch,可以用于当Slave,也可以用于当第三方工具,将Master的数据同步发给Slave。 利用多线程实现主从无延迟。

Q: Transfer目前的发布形式?

A: Transfer会在今年内开源,目前的发布形式是可执行的mysqld文件。 有两个版本,分别是官方的5.1.48 和 Percona Server 5.5.18.

Transfer.MySQL.5.1.48 下载地址   md5: 4d49f8d90e8bee8c870c1ef3a38cc979

Transfer.Percona.5.5.18 下载地址  md5: f4783971c38008e0780cca44a97368eb

最后更新日期 2012.9.12

(下载后先对一下md5 ^_^)

Q: Transfer是否会改变主库上的binlog在从库上的执行顺序,导致数据不一致?

A:会改变执行顺序。但Transfer保证对于相同记录的操作都是按顺序的,因此不会导致数据不一致。

Q: 我使用了transfer模式,但是transfer的错误日志为什么一直在输出 "trans->inner_events 3",而从库上没有更新?

A: Transfer启动前需要保证Transfer里面要有与slave上相同的表和表结构,请先确认下,若无,则需要从slave把schema都dump 过去。

Q: 我用的是mysql5.1.48版本,我在transfer里面建表的时候会core dump

A: 若你用的是innodb_plugin版本,还需要替换ha_innodb_plugin.so.0.0.0 (lib/mysql/plugin 目录下) 下载地址

Q: 需要配置上做什么改变

Q: 对主从库有什么配置限制

A:有以下限制

1) 主库的binlog格式必须是row

2) 主库的表必须有primary key

3) 从库的 max_allowed_packet建议改为1G。主库的单个事务大小不能超过max_allowed_packet

Q: 我覆盖了mysqld后,Transfer整个实例起不来?

A:先确认一下mysqld是否有可执行权限, 若无,执行 chmod 755 mysqld.

Q: 我用slave模式,能够随时替换回原来的版本吗?

A: 如果要随时替换回原来的版本,可以把增加的参数都加上loose_前缀,这样替换mysqld,重启,start slave,就可以了。

Q: 什么情况下不适合用Transfer?

A: 其实一个简单的原则,如果你的原生从库不延迟,就不需要用(貌似是废话).

Q: 我的测试场景下transfer的TPS比原生的还慢?感谢 @-周博

A:  若是从空表开始压力,并且你的BP开很大,io性能很好,更新语句简单,qps很高(这个case里是12w/s),此时单线程完全能够执行得飞快。Transfer模型中的生产+消费环节和多线程争用反而会导致性能下降(在这个case里面是6w/s)。

在实际线上场景中,更多的情况是io瓶颈,此时才能利用好多线程的效果,Transfer的效果才能体现出来。在我们一个线上场景的测试中是原生500/s,用Transfer后6000/s.

PS: 个人比较建议用源码安装,Percona Server的 源码地址

我的cmake参数

CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"

CXX=gcc

CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"

export CFLAGS CXX CXXFLAGS

#cmake . -DCMAKE_INSTALL_PREFIX=/home/dingqi.lxb/mysql5 -DEXTRA_CHARSETS=all

cmake . \

-DCMAKE_BUILD_TYPE:STRING=Release             \

-DSYSCONFDIR:PATH=/home/mysql5            \

-DCMAKE_INSTALL_PREFIX:PATH=/home/mysql5  \

-DENABLED_PROFILING:BOOL=ON                   \

-DENABLE_DEBUG_SYNC:BOOL=OFF                  \

-DMYSQL_DATADIR:PATH=/home/dingqi.lxb/mysql5/data    \

-DMYSQL_MAINTAINER_MODE:BOOL=OFF              \

-DWITH_EXTRA_CHARSETS:STRING=all  \

-DWITH_BIG_TABLES:BOOL=ON \

-DWITH_FAST_MUTEXES:BOOL=ON \

-DENABLE-PROFILING:BOOL=ON \

-DWITH_SSL:STRING=bundled                     \

-DWITH_UNIT_TESTS:BOOL=OFF                    \

-DWITH_ZLIB:STRING=bundled                    \

-DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON       \

-DWITH_PLUGINS=heap,csv,partition,innodb_plugin,myisam \

-DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci -DWITH_EXTRA_CHARSETS=ALL \

-DENABLED_ASSEMBLER:BOOL=ON                   \

-DENABLED_LOCAL_INFILE:BOOL=ON                \

-DENABLED_THREAD_SAFE_CLIENT:BOOL=ON          \

-DENABLED_EMBEDDED_SERVER:BOOL=OFF             \

-DWITH_CLIENT_LDFLAGS:STRING=all-static                 \

-DINSTALL_LAYOUT:STRING=STANDALONE            \

-DCOMMUNITY_BUILD:BOOL=ON;

mysql data transfer_MySQL主从同步加速 Transfer-- FAQ相关推荐

  1. MySQL的主从复制主从同步

    MySQL 主从复制概念 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数 ...

  2. 基于 CentOS Mysql 安装与主从同步配置详解

    CentOS Mysql 安装 Mysql (Master/Slave) 主从同步 1.为什么要使用主从同步 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操 ...

  3. 企业实战|Mysql不停机维护主从同步

    转载来源 :企业实战|Mysql不停机维护主从同步 : https://mp.weixin.qq.com/s/CQFmFhtRMFsESofDpTOvUA 实战环境: Mysql-5.7 Xtraba ...

  4. MYSQL管理之主从同步管理

    原文地址:MYSQL管理之主从同步管理 作者:飞鸿无痕 MYSQL管理之主从同步管理 MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管理也就显得非常重 ...

  5. mysql数据库的主从同步(主服务器存在内网IP)

    1 分别在两台服务器上安装系统和mysql数据库 主服务器WIN2008R2,主服务器虚拟机和从服务器上是centos 7系统,并在centos 7系统安装mysql 5.7 本文中的两台服务器的IP ...

  6. mysql数据库的主从同步,实现读写分离

    目录 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master主服务器的配置 2.1 配置文件my.cnf的修改 2.2 创建从服务器的用户和权限 2.3 重启mysql服务 ...

  7. 监控mysql锁定状态_企业实战Mysql不停机维护主从同步

    实战环境: Mysql-5.7 Xtrabackup-2.4 Xtrabackup 介绍: Percona XtraBackup是一款基于MySQL的服务器的开源热备份实用程序,在备份过程中不会锁定数 ...

  8. MySql主主(主从)同步配置详解

    一.MySQL复制概述 MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新.删除等 ...

  9. 没有日志 mysql 5.6主从同步_mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)...

    环境说明: 版本 version 5.6.25-log 主库ip: 10.219.24.25 从库ip:10.219.24.22 os 版本: centos 6.7 已安装热备软件:xtrabacku ...

最新文章

  1. Linux C编程--fork 详解
  2. [SCOI2010]股票交易
  3. php 上个月天数,php日期所在月的天数_PHP教程
  4. Qt中的QFileDialog
  5. Vue.js 动态组件 异步组件
  6. 超级简单的mysql主从数据库配置攻略以及错误处理
  7. 机器人学习--室内定位方法综述
  8. [LOJ3153] 三级跳(单调栈 + 线段树)
  9. linux spoon.sh闪退,解决Linux Kettle出现闪退问题
  10. STM32学习笔记之一(初窥STM32)
  11. vue data属性中的值绑定到dom上的一些问题
  12. 转发的 呀 犯法不 顶级 的 学学不错 【分享】各大资源论坛推荐及优势特点
  13. vba教程视频,VBA(基础篇+提高篇+实战篇)Excel数据处理教学视频
  14. 微信小程序使用其他字体
  15. 关于职业规划最好最全面的一篇文章
  16. 怎么用表格做出html网页,用表格制作网页
  17. 用java判断是否是合法邮箱即验证邮箱格式
  18. 工地泥浆流出大量邵阳抽泥浆罐车清理路面泥巴
  19. Python 实现键鼠操作
  20. Linux磁盘存储和文件系统

热门文章

  1. java自定义线程池池,线程池使用及自定义线程池
  2. 适配接口 java_【Java 设计模式】接口型模式--Adapter(适配器)模式
  3. 下一个全排列_下一个排列
  4. Java ClassLoader getSystemClassLoader()方法与示例
  5. 调整灰度图像的大小,而无需在Python中使用任何内置函数
  6. 千万不要这样写代码!9种常见的OOM场景演示
  7. Python获取电脑CPU序列号、主板序列号、BIOS序列号、硬盘序列号列表、网卡MAC地址
  8. vue+axios请求时设置request header请求头(带上token)
  9. C#中其他简单LINQ查询表达式的简单使用介绍
  10. centos离线安装jenkins