Goldengate完成Mysql到Mysql的数据同步
文档参考地址: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数据导出,然后导入到目标库中
- mysqldump -uroot -p123456 --single-transaction --flush-logs --master-data=2 -B o2m-mc --tables GMQDSJSP > /tmp/GMQDSJSP20151021.sql
- mysql -uroot -p123456 gmdc < /tmp/GMQDSJSP20151021.sql
2、源库
1)修改参数
在/etc/my.cnf的[mysqld]下添加如下参数
- binlog_format=row
- log-bin = mysql-bin #开启二进制日志
重启
- service mysqld restat
2)创建用户并授权
- mysql> GRANT ALL PRIVILEGES ON `o2m-mc`.* TO 'ogg'@localhost IDENTIFIED BY 'ogg;
- mysql> GRANT ALL PRIVILEGES ON `o2m-mc`.* TO 'ogg'@'%'IDENTIFIED BY 'ogg;
3)解压安装创建相应目录
- unzip ggs_121210_Linux_x64_MySQL_64bit.zip -d /home/goldengate
- cd /home/goldengate
- tar xvf ggs_Linux_x64_MySQL_64bit.tar
- ./ggsci
- GGSCI (hadooptest05) 1> create subdirs
- Creating subdirectories under current directory /home/goldengate
- Parameter files /home/goldengate/dirprm: already exists
- Report files /home/goldengate/dirrpt: created
- Checkpoint files /home/goldengate/dirchk: created
- Process status files /home/goldengate/dirpcs: created
- SQL script files /home/goldengate/dirsql: created
- Database definitions files /home/goldengate/dirdef: created
- Extract data files /home/goldengate/dirdat: created
- Temporary files /home/goldengate/dirtmp: created
- Credential store files /home/goldengate/dircrd: created
- Masterkey wallet files /home/goldengate/dirwlt: created
- Dump files /home/goldengate/dirdmp: created
4)配置管理进程
- GGSCI (hadooptest05) 2> edit params mgr
- port 7809
- dynamicportlist 7840-7939
- autorestart er *, retries 5, waitminutes 3
- purgeoldextracts /home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2
- GGSCI (hadooptest05) 3> start mgr
- Manager started.
5)配置抽取进程
- GGSCI (hadooptest05) 4> edit param mce1
- extract mce1
- sourcedb o2m-mc@192.168.7.221:3306 userid ogg password ogg
- exttrail /home/goldengate/dirdat/me
- discardfile /home/goldengate/dirrpt/mce1.dsc,append
- TranLogOptions AltLogDest /home/mariadb/data/binlogs.index
- table o2m-mc.GMQDSJSP;
- GGSCI (hadooptest05) 5> add extract mce1,tranlog,begin now
- GGSCI (hadooptest05) 6> add exttrail /home/goldengate/dirdat/me,extract mce1
- GGSCI (hadooptest05) 7> start mce1
6)配置传递进程
- GGSCI (hadooptest05) 8> edit param mcp1
- extract mcp1
- passthru
- sourcedb o2m-mc@192.168.68.13:3306 userid ogg password ogg
- rmthost 192.168.68.14,mgrport 7809,compress
- rmttrail /home/goldengate/dirdat/mp
- dynamicresolution
- numfiles 3000
- table o2m-mc.GMQDSJSP;
- GGSCI (hadooptest05) 9> add extract mcp1,exttrailsource /home/goldengate/dirdat/me
- GGSCI (hadooptest05) 10> add rmttrail /home/goldengate/dirdat/mp,extract mcp1
- GGSCI (hadooptest05) 11> start mcp1
7)创建表的定义文件
- #创建参数文件
- GGSCI (hadooptest05) 10> edit param defgen
- defsfile ./dirdef/gmqdsjsjp.def
- sourcedb o2m-mc@192.168.68.14:3306 userid ogg, password ogg
- table o2m-mc.GMQDSJSP;
- #生成表定义文件
- ./defgen paramfile ./dirprm/defgen.prm
- #传至目标库目录
- scp /home/mysql/goldengate/dirdef/gmqdsjsjp.def 192.168.68.14:/home/goldengate/dirdef/
3、目标库
1)创建用户
- mysql> GRANT ALL PRIVILEGES ON `gmdc`.* TO 'ogg'@localhost IDENTIFIED BY 'ogg';
- mysql> GRANT ALL PRIVILEGES ON `gmdc`.* TO 'ogg'@'%' IDENTIFIED BY 'ogg';
2)同样解压安装并创建目录
- unzip ggs_121210_Linux_x64_MySQL_64bit.zip -d /home/goldengate
- cd /home/goldengate
- tar xvf ggs_Linux_x64_MySQL_64bit.tar
- ./ggsci
- GGSCI (db) 1> create subdirs
- Creating subdirectories under current directory /home/goldengate
- Parameter files /home/goldengate/dirprm: already exists
- Report files /home/goldengate/dirrpt: created
- Checkpoint files /home/goldengate/dirchk: created
- Process status files /home/goldengate/dirpcs: created
- SQL script files /home/goldengate/dirsql: created
- Database definitions files /home/goldengate/dirdef: created
- Extract data files /home/goldengate/dirdat: created
- Temporary files /home/goldengate/dirtmp: created
- Credential store files /home/goldengate/dircrd: created
- Masterkey wallet files /home/goldengate/dirwlt: created
- Dump files /home/goldengate/dirdmp: created
3)配置管理进程
- GGSCI (db) 3> edit params mgr
- port 7809
- dynamicportlist 7840-7939
- autorestart er *, retries 5, waitminutes 3
- purgeoldextracts /home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2
- GGSCI (db) 4> start mgr
- Manager started.
4)添加检查点表
- GGSCI (db) 5> dblogin sourcedb gmdc@192.168.68.14:3306 userid ogg password ogg
- GGSCI (db DBLOGIN as ogg) 6> add checkpointtable gmdc.checkpoint
- GGSCI (db DBLOGIN as ogg) 7> edit params ./GLOBALS
- checkpointtable gmdc.checkpoint
5)配置应用进程
- GGSCI (db) 1> edit params mcr1
- replicat mcr1
- targetdb gmdc@192.168.68.14:3306 userid ogg password ogg
- handlecollisions
- sourcedefs /home/goldengate/dirdef/gmqdsjsp.def
- discardfile /home/goldengate/dirrpt/mcr1.dsc,purge
- map o2m-mc.GMQDSJSP, target gmdc.GMQDSJSP;
- GGSCI (db) 2> add replicat mcr1,exttrail /home/goldengate/dirdat/mp,checkpointtable gmdc.checkpoint
- GGSCI (db) 3> start mcr1
4、测试数据同步
注意:mysql中表的大小注意区分
info mgr //查看启动信息
Goldengate完成Mysql到Mysql的数据同步的更多相关文章
- TiDB 作为 MySQL Slave 实现实时数据同步
由于 TiDB 本身兼容绝大多数的 MySQL 语法,所以对于绝大多数业务来说,最安全的切换数据库方式就是将 TiDB 作为现有数据库的从库接在主 MySQL 库的后方,这样对业务方实现完全没有侵入性 ...
- 通过Gearman实现MySQL到Redis的数据同步
对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的 ...
- Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步
[TOC] 1, 环境 CentOS, MySQL, Redis, Nodejs 2, Redis简介 Redis是一个开源的K-V内存数据库,它的key可以是string/set/hash/list ...
- JAVA通过Gearman实现MySQL到Redis的数据同步(异步复制)
MySQL到Redis数据复制方案 无论MySQL还是Redis,自身都带有数据同步的机制,像比较常用的 MySQL的Master/Slave模式 ,就是由Slave端分析Master的binlog来 ...
- Mysql主从复制,实现数据同步
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- 基于 MySQL Binlog 的 Elasticsearch 数据同步实践 原
一.背景 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品.订单等数据的多维度检索. 使用 Elasticsearch 存储业务数据可以 ...
- 基于MySQL Binlog的Elasticsearch数据同步实践
一.为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品.订单等数据的多维度检索. 使用 Elasticsearch 存储业务数 ...
- android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
- MySQL触发器实现表数据同步
其中old表示tab2(被动触发),new表示tab1(主动触发,外部应用程序在此表里执行insert语句) 1.插入:在一个表里添加一条记录,另一个表也添加一条记录DROP TABLE IF EXI ...
- Elasticsearch的快速使用——Spring Boot使用Elastcisearch, 并且使用Logstash同步mysql和Elasticsearch的数据
我主要是给出一些方向,很多地方没有详细说明.当时我学习的时候一直不知道怎么着手,花时间找入口点上比较多,你们可以直接顺着方向去找资源学习. 如果不是Spring Boot项目,那么根据Elastics ...
随机推荐
- shell系统管理
背景知识 对于 Linux 系统管理员来说,没有比 shell 脚本编程更有用处的了.通常,Linux 系统管理员每天需要完成无数项任务,从监视系统磁盘空间和系统用户到备份重要文件.Shell 脚本可 ...
- YTU 2800: 逗逗泡泡的保密电文
2800: 逗逗泡泡的保密电文 时间限制: 1 Sec 内存限制: 128 MB 提交: 229 解决: 114 题目描述 某电报局的电文保密的规律是将每个英文字母变成其后的第4个字母(很原始的那 ...
- YTU 1004: 1、2、3、4、5...
1004: 1.2.3.4.5... 时间限制: 1000 Sec 内存限制: 64 MB 提交: 1275 解决: 343 题目描述 浙江工商大学校园里绿树成荫,环境非常舒适,因此也引来一批动物 ...
- unbantu安装mysql
1,方法一 sudo apt-get install mysql-server apt isntall mysql-client apt install libmysqlclient-dev(暂不知用 ...
- zabbix 监控ssdb
zabbix 的啥基础知识啥的,请看由本站大牛凉白开先生写的zabbix教程.这里说说如何监控ssdb.SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, ...
- Vue.js:安装node js到构建一个vue并启动它
ylbtech-Vue.js:从安装node js到构建一个vue并启动它 1.返回顶部 1. 1.安装node js 下载地址:http://nodejs.cn/download/2.安装完成后运行 ...
- Image2Caption
定义 图像标注或语言生成图像问题把计算机视觉与自然语言处理联系在了一起,是广义的人工智能领域的一大难题.通常涉及到特征提取(用cnn提取出图像内部不为人类感知的向量特征)和语言模型建立.为图像提取文字 ...
- Linux 系统管理命令 - mpstat - CPU信息统计
命令详解 重要星级: ★★★★☆ 功能说明: mpstat 是 Multiprocessor Statistics 的缩写,是一种实时系统监控工具.mpstat 命令会输出 CPU 的一些统计信息,这 ...
- Go语言Flag的简单示例
flag 命令行参数解析,大家可能不太清楚是什么命令行参数解析,不要紧,我们来看看: 他就是干这个活的 func FlagTest1(){ var username string var userag ...
- JAVA中抽象类不可以实例化,却可以创建数组
这是我定义的一个抽象类: 如果你试图创建一个对象,当然是不行的,抽象类不能用new运算符创建对象. 这是错误提示,还记得instantiate这个单词吗?在我的这篇随笔第二篇(那些JAVA程序BUG中 ...