mysql goldengate_GoldenGate对接 mysql

环境:

centos 7.4

mysql 5.5.58 glibc 64 位版,下载链接:https://dev.mysql.com/downloads/mysql/5.5.html#downloads

GoldenGate for mysql 12.3.0.1.0 linux 版本,下载链接:http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html

7e2e9675050965f6cba1eea25f8a6f1b.png

之前作者已经写过一篇博客,专门介绍如何使用tar 包离线安装mysql 服务,感兴趣的读者可以浏览查看mysql 5.5.58 tar包安装部署,读者们要特别留意my.cnf 的配置,因为GoldenGate 在对接mysql 时,需要依赖mysql 的binlog 日志。

安装GoldenGate 前,建议大家先创建一个ogg 的系统用户,方便管理

groupadd ogg

useradd-s "/bin/bash" -m -d /home/ogg -b /home/ogg -g ogg ogg

切换到 ogg 系统用户下,继续以下操作

su - ogg

解压已经下载好的GoldenGate 软件

mkdir -p /home/ogg/oggunzip 123011_ggs_Linux_x64_MySQL_64bit.zip -d /home/ogg/ogg/cd ogg/

tar -xvf ggs_Linux_x64_MySQL_64bit.tar

进入ggsci 控制台

./ggsci

创建GoldenGate的子目录,并且编辑mgr 配置文件

create subdirs

edit param mgr

mgr 服务的配置文件

port 9001autostart er*autorestart er*

启动mgr 服务

start mgr

编辑 ext_test 服务的配置文件

edit param ext_test

ext_test 服务的配置文件

EXTRACT ext_test

SOURCEDB foo@localhost:3306, USERID root, PASSWORD mysql

Setenv (NLS_LANG="AMERICAN_AMERICA.UTF8")

Setenv (MYSQL_HOME="/opt/mysql-5.5.58-linux-glibc2.12-x86_64")

TranLogOptions AltLogDest/opt/mysql-5.5.58-linux-glibc2.12-x86_64/binlog/replicalog.index

GETTRUNCATES

DISCARDROLLOVER ON FRIDAY

DISCARDFILE ./dirrpt/ext_test.dsc , APPEND, MEGABYTES 1024REPORTCOUNT EVERY30MINUTES, RATE

EXTTRAIL ./dirdat/ex

TABLE foo.test;

GoldenGate 对接mysql 和Oracle的配置文件有所不同,主要是连接 数据库的设置不一样,以及设置数据库事务日志的方法也不同。

SOURCEDB 这个参数中,foo 代表是mysql 的database 名字,localhost 是指定mysql 的连接方式,3306 即是mysql 的端口号,后面接着的鉴权是mysql 数据库中的用户名和密码,而非操作系统的用户名和密码。

TranLogOptions 参数则是指定mysql 事务日志的索引文件路径

再次强调,读者需要通过作者上一篇博客mysql 5.5.58 tar包安装部署 的介绍,用户应该如何设置mysql 的事务日志归档。

设置好ext_test配置后,就是对GoldenGate 增加这个服务。

add extract ext_test, TRANLOG, BEGIN NOW

ADD EXTTRAIL ./dirdat/ex , EXTRACT ext_test, MEGABYTES 200

启动ext_test 服务

start ext_test

查看GoldenGate 服务的运行状态

info all

GoldenGate for mysq 另外一个和 对接Oracle 不同的地方,是GoldenGate 获取mysql 表结构的方法。

在 ggsci 控制台上配置defgen 的配置文件

edit param defgen

defgen的配置文件内容

DEFSFILE dirdef/source.def, PURGE

SourceDB foo, UserID root, Password mysql

Table foo.test ;

在shell 窗口中执行以下命令,获取mysql 需要同步的表的表结构

./defgen paramfile dirprm/defgen.prm

之前作者写过一篇完整的GoldenGate的部署博客Oracle GoldenGate对接 Oracle 11g和Kafka,大家可以根据介绍将剩余的 dpe_test 和rep_test部分进行部署。

启动ext_test 服务时报错

如果用户在启动 ext_test服务时报错信息如下,则证明是mysql 的binlog 日志ogg 没有读的权限,用户应该修改mysql 的binlog 日志权限,允许其他的系统用户读取

2017-11-28 11:09:58 ERROR OGG-00146 Call to VAMInitialize returned with error status 600: VAM Client Report

Also try specifying the path to the log indexfile by using the TRANLOGOPTIONS parameter with the ALTLOGDEST option. - /opt/mysql-5.5.58-linux-glibc2.12-x86_64/binlog/replicalog.index

WHEN FAILED : While initializing binary log configuration

WHERE FAILED : MySQLBinLog Reader Module

CONTEXT OF FAILURE : No Information Available!>.2017-11-28 11:09:58 ERROR OGG-01668 PROCESS ABENDING

修改mysql 的binlog 目录的权限命令

chmod 765 /opt/mysql-5.5.58-linux-glibc2.12-x86_64/binlog/*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值