goldengate 12.3 实现mysql数据及DDL实时同步

本文介绍如何在MySQL 5.7环境中通过配置OGG(Oracle GoldenGate for MySQL)进行跨库的数据同步,包括设置启动参数、创建测试库表及用户、配置抽取与投递进程等步骤。
以下环境在mysql 5.7上完成。
set mysql_home=mysql安装路径
set path=%mysql_home%\bin;%path%
首先要准备mysql的启动,可参考:http://silentwu.iteye.com/blog/2308722
由于需要使用OGG解析日志,所以需要在my.ini/my.cnf中设置如下参数
log-bin=u:/soft/mysql/5.7/mysql-5.7.19-winx64/logs/log-bin
binlog-ignore-db=oggddl
binlog_format=row

 

如果需要同步DDL,则需要在OGG安装目录下执行:
ddl_install.cmd/sh install root "root_password" 3306

 

重启mysql,使参数生效。
 

准备测试库表和用户

 
--源库
create database testdb charset utf8;
use testdb;
create table tb1(id int primary key, name varchar(50));

 

 

--目标库
create database tgtdb charset utf8;
use tgtdb;
create table tgtdb.tb1(id int primary key, name varchar(50));
 

--同步用户
create user 'ogg'@'%' identified by 'ogg';
GRANT ALL PRIVILEGES ON *.* TO 'ogg'@'%' IDENTIFIED BY 'ogg' WITH GRANT OPTION; 
FLUSH   PRIVILEGES;

以下配置在同一节点上完成,所以不需要传输进程。

抽取进程参数ex1.prm
extract ex1
sourcedb testdb@localhost, userid ogg, password ogg
TRANLOGOPTIONS ALTLOGDEST "u:\\soft\\mysql\\5.7\\mysql-5.7.19-winx64\\logs\\log-bin.index"
exttrail ./dirdat/ea
ddl include mapped
table testdb.*;

 

 

add extract ex1, tranlog, begin now
add exttrail ./dirdat/ea, extract ex1
 

投递进程参数re1.prm

replicat re1
targetdb tgtdb@localhost, userid ogg, password ogg
AssumeTargetDefs
map testdb.*, target tgtdb.*;


add replicat re1, exttrail ./dirdat/ea, nodbcheckpoint

-- DML测试
insert into testdb.tb1 values(1,'bbc');
insert into testdb.tb1 values(2,'bdsfbc');
 

- DDL 测试
create table testdb.tb2(id int primary key, name varchar(50));
alter table testdb.tb2 add age int;
insert into testdb.tb2 values(2, 'cdl',40);

 

转载于:https://www.cnblogs.com/margiex/p/7409818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值