文档参考地址:http://blog.csdn.net/u010587433/article/details/49305019

需求:

使用Goldengate完成Mysql到Mysql的数据同步,源库的o2m-mc库同步到目标库的gmdc库,表名GMQDSJSP,换句话说,就是不同数据库之间表之间数据的同步

实验准备:

系统: CentOS 7.2

mysql版本 :  5.7-12

mysql-1 : 192.168.68.13     mysql-2:192.168.68.14

1、初始化

1)目标库创建数据库

mysql> create database gmdc;

2)导入数据

将源库表GMQDSJSP数据导出,然后导入到目标库中

  1. mysqldump -uroot -p123456  --single-transaction --flush-logs --master-data=2 -B o2m-mc --tables GMQDSJSP > /tmp/GMQDSJSP20151021.sql
  2. mysql -uroot -p123456 gmdc <  /tmp/GMQDSJSP20151021.sql

2、源库

1)修改参数

在/etc/my.cnf的[mysqld]下添加如下参数

  1. binlog_format=row
  2. log-bin = mysql-bin          #开启二进制日志

重启

  1. service mysqld restat

2)创建用户并授权

  1. mysql> GRANT ALL PRIVILEGES ON `o2m-mc`.* TO 'ogg'@localhost IDENTIFIED BY 'ogg;
  2. mysql> GRANT ALL PRIVILEGES ON `o2m-mc`.* TO 'ogg'@'%'IDENTIFIED BY 'ogg;

3)解压安装创建相应目录

 
  1. unzip ggs_121210_Linux_x64_MySQL_64bit.zip -d /home/goldengate
  2. cd /home/goldengate
  3. tar xvf ggs_Linux_x64_MySQL_64bit.tar
  4. ./ggsci
  5. GGSCI (hadooptest05) 1> create subdirs
  6. Creating subdirectories under current directory /home/goldengate
  7. Parameter files                /home/goldengate/dirprm: already exists
  8. Report files                   /home/goldengate/dirrpt: created
  9. Checkpoint files               /home/goldengate/dirchk: created
  10. Process status files           /home/goldengate/dirpcs: created
  11. SQL script files               /home/goldengate/dirsql: created
  12. Database definitions files     /home/goldengate/dirdef: created
  13. Extract data files             /home/goldengate/dirdat: created
  14. Temporary files                /home/goldengate/dirtmp: created
  15. Credential store files         /home/goldengate/dircrd: created
  16. Masterkey wallet files         /home/goldengate/dirwlt: created
  17. Dump files                     /home/goldengate/dirdmp: created

4)配置管理进程

 
  1. GGSCI (hadooptest05) 2>  edit params mgr
  2. port 7809
  3. dynamicportlist 7840-7939
  4. autorestart er *, retries 5, waitminutes 3
  5. purgeoldextracts /home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2
  6. GGSCI (hadooptest05) 3> start mgr
  7. Manager started.

5)配置抽取进程

 
  1. GGSCI (hadooptest05) 4> edit param mce1
  2. extract mce1
  3. sourcedb o2m-mc@192.168.7.221:3306 userid ogg password ogg
  4. exttrail /home/goldengate/dirdat/me
  5. discardfile  /home/goldengate/dirrpt/mce1.dsc,append
  6. TranLogOptions AltLogDest /home/mariadb/data/binlogs.index
  7. table o2m-mc.GMQDSJSP;
  8. GGSCI (hadooptest05) 5> add extract mce1,tranlog,begin now
  9. GGSCI (hadooptest05) 6> add exttrail /home/goldengate/dirdat/me,extract mce1
  10. GGSCI (hadooptest05) 7> start mce1




6)配置传递进程

  1. GGSCI (hadooptest05) 8> edit param mcp1
  2. extract mcp1
  3. passthru
  4. sourcedb o2m-mc@192.168.68.13:3306 userid ogg password ogg
  5. rmthost  192.168.68.14,mgrport 7809,compress
  6. rmttrail  /home/goldengate/dirdat/mp
  7. dynamicresolution
  8. numfiles 3000
  9. table o2m-mc.GMQDSJSP;
  10. GGSCI (hadooptest05) 9> add extract mcp1,exttrailsource /home/goldengate/dirdat/me
  11. GGSCI (hadooptest05) 10> add rmttrail /home/goldengate/dirdat/mp,extract mcp1
  12. GGSCI (hadooptest05) 11> start mcp1



7)创建表的定义文件

  1. #创建参数文件
  2. GGSCI (hadooptest05) 10>  edit param defgen
  3. defsfile ./dirdef/gmqdsjsjp.def
  4. sourcedb o2m-mc@192.168.68.14:3306 userid ogg, password ogg
  5. table o2m-mc.GMQDSJSP;
  6. #生成表定义文件
  7. ./defgen paramfile ./dirprm/defgen.prm
  8. #传至目标库目录
  9. scp /home/mysql/goldengate/dirdef/gmqdsjsjp.def 192.168.68.14:/home/goldengate/dirdef/

3、目标库

1)创建用户

  1. mysql> GRANT ALL PRIVILEGES ON `gmdc`.* TO 'ogg'@localhost  IDENTIFIED BY 'ogg';
  2. mysql> GRANT ALL PRIVILEGES ON `gmdc`.* TO 'ogg'@'%'  IDENTIFIED BY 'ogg';

2)同样解压安装并创建目录

  1. unzip ggs_121210_Linux_x64_MySQL_64bit.zip -d /home/goldengate
  2. cd /home/goldengate
  3. tar xvf ggs_Linux_x64_MySQL_64bit.tar
  4. ./ggsci
  5. GGSCI (db) 1> create subdirs
  6. Creating subdirectories under current directory /home/goldengate
  7. Parameter files                /home/goldengate/dirprm: already exists
  8. Report files                   /home/goldengate/dirrpt: created
  9. Checkpoint files               /home/goldengate/dirchk: created
  10. Process status files           /home/goldengate/dirpcs: created
  11. SQL script files               /home/goldengate/dirsql: created
  12. Database definitions files     /home/goldengate/dirdef: created
  13. Extract data files             /home/goldengate/dirdat: created
  14. Temporary files                /home/goldengate/dirtmp: created
  15. Credential store files         /home/goldengate/dircrd: created
  16. Masterkey wallet files         /home/goldengate/dirwlt: created
  17. Dump files                     /home/goldengate/dirdmp: created

3)配置管理进程

  1. GGSCI (db) 3>  edit params mgr
  2. port 7809
  3. dynamicportlist 7840-7939
  4. autorestart er *, retries 5, waitminutes 3
  5. purgeoldextracts /home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2
  6. GGSCI (db) 4> start mgr
  7. Manager started.

4)添加检查点表

  1. GGSCI (db) 5>  dblogin sourcedb gmdc@192.168.68.14:3306 userid ogg password ogg
  2. GGSCI (db DBLOGIN as ogg) 6>  add checkpointtable gmdc.checkpoint
  3. GGSCI (db DBLOGIN as ogg) 7>  edit params ./GLOBALS
  4. checkpointtable gmdc.checkpoint

5)配置应用进程

  1. GGSCI (db) 1>  edit params mcr1
  2. replicat mcr1
  3. targetdb gmdc@192.168.68.14:3306 userid ogg password ogg
  4. handlecollisions
  5. sourcedefs /home/goldengate/dirdef/gmqdsjsp.def
  6. discardfile /home/goldengate/dirrpt/mcr1.dsc,purge
  7. map o2m-mc.GMQDSJSP, target gmdc.GMQDSJSP;
  8. GGSCI (db) 2> add replicat mcr1,exttrail /home/goldengate/dirdat/mp,checkpointtable gmdc.checkpoint
  9. GGSCI (db) 3> start mcr1

4、测试数据同步

注意:mysql中表的大小注意区分

info mgr  //查看启动信息

Goldengate完成Mysql到Mysql的数据同步的更多相关文章

  1. TiDB 作为 MySQL Slave 实现实时数据同步

    由于 TiDB 本身兼容绝大多数的 MySQL 语法,所以对于绝大多数业务来说,最安全的切换数据库方式就是将 TiDB 作为现有数据库的从库接在主 MySQL 库的后方,这样对业务方实现完全没有侵入性 ...

  2. 通过Gearman实现MySQL到Redis的数据同步

    对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的 ...

  3. Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步

    [TOC] 1, 环境 CentOS, MySQL, Redis, Nodejs 2, Redis简介 Redis是一个开源的K-V内存数据库,它的key可以是string/set/hash/list ...

  4. JAVA通过Gearman实现MySQL到Redis的数据同步(异步复制)

    MySQL到Redis数据复制方案 无论MySQL还是Redis,自身都带有数据同步的机制,像比较常用的 MySQL的Master/Slave模式 ,就是由Slave端分析Master的binlog来 ...

  5. Mysql主从复制,实现数据同步

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  6. 基于 MySQL Binlog 的 Elasticsearch 数据同步实践 原

    一.背景 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品.订单等数据的多维度检索. 使用 Elasticsearch 存储业务数据可以 ...

  7. 基于MySQL Binlog的Elasticsearch数据同步实践

    一.为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品.订单等数据的多维度检索. 使用 Elasticsearch 存储业务数 ...

  8. android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?

    通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...

  9. MySQL触发器实现表数据同步

    其中old表示tab2(被动触发),new表示tab1(主动触发,外部应用程序在此表里执行insert语句) 1.插入:在一个表里添加一条记录,另一个表也添加一条记录DROP TABLE IF EXI ...

  10. Elasticsearch的快速使用——Spring Boot使用Elastcisearch, 并且使用Logstash同步mysql和Elasticsearch的数据

    我主要是给出一些方向,很多地方没有详细说明.当时我学习的时候一直不知道怎么着手,花时间找入口点上比较多,你们可以直接顺着方向去找资源学习. 如果不是Spring Boot项目,那么根据Elastics ...

随机推荐

  1. ubuntu1.8安装lnmp失败

    兴致冲冲的安装好ubuntu1.8. 想安装lnmp,结果失败,失败,失败. 一遍由一遍,很痛苦. 每一遍都要半个小时,甚至更久. 等来的就是失败. 看日志也看不出头绪来. ============= ...

  2. SPFA 算法详解( 强大图解,不会都难!) (转)

    适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便 派上用场了. 我们约定有向加权图G不存在负权回路,即最短路径 ...

  3. [Usaco2017 Feb]Why Did the Cow Cross the RoadII

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4993 [算法] 动态规划 转移类似于求LCS [代码] #include<bi ...

  4. Jmeter测试接口

    文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接 ...

  5. linux 软件开发的源

    deb http://mirrors.aliyun.com/ubuntu/ quantal main restricted universe multiversedeb http://mirrors. ...

  6. idea 快捷键以及包含字符串文件搜索

    1.idea也有一个类似于eclipse的包含字符串文件搜索(特别实用) idea 里按快捷键:ctrl+H 2.下图是idea的快捷键汇总 3.debug调试 F5:跳入方法   F6:向下逐行调试 ...

  7. php pdo操作数据库

    POD扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题. PDO的特点: 性能.PDO 从一开始就吸取了现有数据库扩展成 ...

  8. 洛谷P2787 语文1(chin1)- 理理思维(珂朵莉树)

    传送门 一看到区间推倒……推平操作就想到珂朵莉树 区间推平直接assign,查询暴力,排序的话开一个桶统计,然后一个字母一个字母加就好了 开桶统计的时候忘了保存原来的左指针然后挂了233 //mina ...

  9. How to Compare Means (均值比较)

    在比较数据的均值时,我们可能知道: 比较工厂当天生产的零件的长度是否合格 (length >= N mm),用 t-Test; 比较各一线城市的人均收入,用 ANOVA. 其实均值比较还有很多检 ...

  10. 乐搏讲自动化测试-Python适用公司类型(6)

    相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章 ...