MySQL-Transfer

授权协议 未知
开发语言
所属分类 数据库相关、 数据库调整和优化
软件类型 开源软件
地区 不详
投 递 者 邬承悦
操作系统 Linux
开源组织
适用人群 未知
 软件概览

MySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。

一、总体结构

 
 

说明:
1、Transfer可以注册成多个Master的从库
2、Transfer接收多个Master传入的binlog后将更新执行到Slave上
3、Transfer本地没有数据

如果你没有多主的需求,那结构就是Master -> Transfer -> Slave.

二、内部结构

      既然是单线程造成的主从延迟,提升就需要用多线程来实现。

  我们来看单主情况下的内部实现。

 

说明:左上角是Master, 右上角是Transfer,下面是Slave。

  • 我自己在实践的时候遇到很多坑,把遇到的问题都分享给大家 Linux下: 结合go_mysql_transfer产品手册 在Linux上安装好redis和mysql。 redis安装: git clone https://gitee.com/mirrors/redis.git -b 6.2 cd redis make make test make install 启动: mkdir redis-da

  • 在Mysql的主从同步是单线程的,这样在对多张表进行同步时往往速度会比较慢。针对这样的情况,淘宝丁奇在mysql基础上开发了一个新的支持多线程同步的程序,命名为Transfer,有兴趣的同学可以阅读他的博客http://dinglin.iteye.com/blog/1581877。 Transfer本身也是Mysql,只不过是用来转发而已,它的数据库中有需要同步的表的结构但是没有数据。Transf

  • 公司目前用的一主多从,当从库读压力过大时,会遇到主从延迟的问题 ,最近测试了主从延迟的方案 ,这是第二个方案,第一个方案请看 《relay fetch解决mysql replication 主从延迟》。                                                                                                   

  • Truncate是SQL中的一个删除数据表内容的语句,用法是:TRUNCATE TABLE [Table Name]。    下面是对Truncate语句在MSSQLServer2000中用法和原理的说明:   Truncate table 表名 速度快,而且效率高,因为:  TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TR

  • mysql> CHANGE MASTER TO            ->     MASTER_HOST='master_host_name',             ->     MASTER_USER='replication_user_name',            ->     MASTER_PASSWORD='replication_password',            

  • 1:backup  database postgres /usr/pgsql-9.3/bin/pg_dumpall -c >/opt/backup/postgres/pg_dumpall.dmp mysql  mysqldump -uroot -p --skip-lock-tables --all-databases > /opt/backup/mysql/mysql.sql   2:scp da

  • #一、 概述 工作需要研究了下阿里开源的MySQL Binlog增量订阅消费组件canal,其功能强大、运行稳定,但是有些方面不是太符合需求,主要有如下三点: 1、需要自己编写客户端来消费canal解析到的数据 2、server-client模式,需要同时部署server和client两个组件,我们的项目中有6个业务数据库要实时同步到redis,意味着要多部署12个组件,硬件和运维成本都会增加。

 相关资料
  • Transfer 是一个主从多线程同步工具,直接patch在MySQL中。2011年开发完成。于去年的12.12上线,并撑住高峰期主从,保证从库无延迟,使得应用能够直接从从库上读数据。 作者微博:http://weibo.com/tdingqi 该项目的源码已经在计划开放,敬请期待。

  • 我有一个项目在玩!框架。我使用了MySQL5.1并添加了mysql-connector-依赖项,它工作得很好。 但是现在我需要将mysql升级到5.6,但是我找不到5.6的MySQL-Connector-。 在这种情况下,有人能提供一些走动吗?有没有可能有两个版本的mysql,其中一个用于项目,另一个用于我的其他需要,例如与数据库备份的集成,而这两个版本共享相同的数据库? 多谢.

  • 说明 常驻内存的程序在使用mysql时经常会遇到mysql gone away的错误,这个是由于程序与mysql的连接长时间没有通讯,连接被mysql服务端踢掉导致。本数据库类可以解决这个问题,当发生mysql gone away错误时,会自动重试一次。 依赖的扩展 该mysql类依赖pdo和pdo_mysql两个扩展,缺少扩展会报Undefined class constant 'MYSQL_A

  • cPanel的此功能允许远程服务器或Web应用程序访问您帐户上托管的数据库。 如果服务器或Web应用程序尝试访问您未提供访问权限的帐户上的数据库,则cPanel将不允许此主机访问您的数据库。 但是,如果您有一个应用程序,您希望授予其访问数据库的权限,则可以在此处添加其主机名或IP地址。 要访问此界面,请单击cPanel的Database Section中的Remote MySQL链接。 添加访问主

  • 一、索引 B+ Tree 原理 MySQL 索引 索引优化 索引的优点 索引的使用条件 二、查询性能优化 使用 Explain 进行分析 优化数据访问 重构查询方式 三、存储引擎 InnoDB MyISAM 比较 四、数据类型 整型 浮点数 字符串 时间和日期 五、切分 水平切分 垂直切分 Sharding 策略 Sharding 存在的问题 六、复制 主从复制 读写分离 参考资料 一、索引 B+

  • 我的sql数据库中有两个数据库表。第一个是个人表,另一个是付款明细。个人表中的自动递增id被用作付款明细的外键。我必须一次插入两个数据到这个表中。通常我应该插入数据到个人表中,并获得这一行的自动增量id,并将数据插入到付款数据表中。但是我有一些问题。 我无法使用我的sql SELECT查询获得自动增量IDeasily.because还有更多的colum要通过WHERE检查。 获取最后一个插入id不