mysql ogg_OGG for MySQL
一、环境要求MySQL 企业版或者社区版
OGG for MySQL 12.2.0.2
OGG Application Adapter 12.2.0.1
java 7(推荐JDK 1.8)
二、安装步骤:
(下面将介绍MySQL/OGG相关安装和配置过程,MySQL的安装将不做介绍,另外需要注意的是:MySQL/OGG相关参数配置以熟悉MySQL/OGG的运维人员配置为准,本示例只是提供一个可运行的样本)
安装包准备
相关安装包可以在文末的提示下进行下载。
OGG for MySQL
OGG Adater
DataHub OGG Plugin
OGG 源端配置
1. 源端MySQL配置
开启binlog
修改文件/etc/my.cnf,添加如下配置
## for ogg
# Extract expects that all of the table columns are in the binary log.
# As a result, only binlog_row_image set as full is supported and this is the default
binlog_row_image=full
# It must be set to the value of ROW, which directs the database to log DML statements in binary format.
binlog_format=row
# prevents DDL logging history table entries in the binlog
binlog-ignore-db=oggddl
# binlog path
log-bin=/usr/local/mysql/logs/log
# binlog index path
log-bin-index=/usr/local/mysql/logs/binlog.index
# enable binlog must set server-id, you can modify if there are multiple services
server-id=1
修改完成后重启MySQL服务。
创建DB和user
mysql连接MySQL服务之后,输入以下命令创建DB
# 创建ogg测试用的数据库ggtt
create database ggtt;
## 创建ogg测试用的用户ogg_test
grant all privileges on ggtt.*to'ogg_test'@'localhost'identifiedby'ogg_test';
flush privileges;
2. 源端OGG安装
解压OGG for MySQL压缩文件
1、创建必须目录
启动ggsci客户端 ./ggsci,输入命令。下面的命令如果未做特殊说明,均在ggsci客户端中运行
create subdirs
运行成功之后便可看到,OGG主目录下增加了几个dirxxx的目录
3. 配置源端mgr
编辑mgr配置edit params mgr,配置内容如下
port7839
dynamicportlist7840-7849
purgeoldextracts/home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2
配置完成后可以查看一下配置以确认,view params mgr
启动mgrstart mgr。
查看mgr状态info mgr
4. 配置源端extract
编辑配置 edit params dhext,这里dhext为进程名,可以任意取,和配置中保持一致即可,下文不再赘述。
extract dhext
sourcedb ggtt@localhost:3306userid ogg_test password ogg_test
exttrail dirdat/ms
TranLogOptionsAltLogDest/usr/local/mysql/logs/binlog.index
table ggtt.*;
编辑完成之后保存,添加并启动extact进程
# 添加进程
add extract dhext,tranlog,beginnow
# 每个队列文件大小为200MB
add exttrail./dirdat/ms,extract dhext,megabytes200
start dhext
5. 配置源端pump
编辑配置 edit params pump
extract pump
passthru
--enable compress
rmthost localhost,mgrport7839,compress
rmttrail dirdat/ms
table ggtt.*;
编辑完成之后保存,添加pump进程
# 添加进程
add extract pump,exttrailsource dirdat/ms
# 添加目标端的trail文件,每个队列文件大小为200MB
add rmttrail dirdat/ms,extract pump,megabytes200
# 这里启动pump进程时会连接目标端,因此需要首先启动目标端mgr,否则会报错
start pump
配置目标端
1. 目标端OGG 安装
目标端的OGG是OGG Adapter,不需要安装,只需要解压即可。解压之后,需要创建必须目录,启动ggsci之后输入命令create subdirs,成功之后便可以看到OGG目录下增加了dirxxx的几个目录。
2. Datahub插件安装和配置
依赖环境:JDK >= 1.7。配置好JAVA_HOME, LD_LIBRARY_PATH,可以将环境变量配置到~/.bash_profile中,例如:
exportJAVA_HOME=/xxx/xxx
exportJRE_HOME=/xxx/xxx/jrexx
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$JRE_HOME/lib/amd64:$JRE_HOME/lib/amd64/server
修改环境变量后,解压datahub-ogg-plugin.tar.gz,修改conf路径下的javaue.properties文件,将{YOUR_HOME}替换为解压后的路径
解压datahub-ogg-plugin.tar.gz,修改conf路径下的javaue.properties文件,将{YOUR_HOME}替换为解压后的绝对路径
gg.handlerlist=ggdatahub
gg.handler.ggdatahub.type=com.aliyun.odps.ogg.handler.datahub.DatahubHandler
gg.handler.ggdatahub.configureFileName={YOUR_HOME}/aliyun-datahub-ogg-plugin/conf/configure.xml
goldengate.userexit.nochkpt=false
goldengate.userexit.timestamp=utc+8
gg.classpath={YOUR_HOME}/aliyun-datahub-ogg-plugin/lib/*
gg.log.level=debug
jvm.bootoptions=-Xmx512m -Dlog4j.configuration=file:{YOUR_HOME}/datahub-ogg-plugin/conf/log4j.properties -Djava.class.path=ggjava/ggjava.jar
修改conf路径下的log4j.properties文件,将{YOUR_HOME}替换为解压后的路径
log4j.rootLogger=INFO,fileout
log4j.logger.com.goldengate=DEBUG
log4j.logger.com.aliyun=DEBUG
# Console output...
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r[%t]%-5p%c%x-%m%n
# Rolling log file output...
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File={YOUR_HOME}/aliyun-datahub-ogg-plugin/log/datahub-ogg-plugin.log
log4j.appender.fileout.MaxFileSize=10000KB
log4j.appender.fileout.MaxBackupIndex=30
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss}[%t]%-5p%c{1}-%m%n
修改conf路径下的configure.xml文件,修改方式见文件中的注释。
需要重点关注的参数
sid任意填写,无实际意义
schema和oracleSchema填写MySQL的dbname,在本测试用例中填写ggtt
oracleTable填写MySQL 的table
rowIdColumn不能填写,因为MySQL无法获取rowid
100
ogg_test
YOUR_DATAHUB_ENDPOINT
YOUR_DATAHUB_PROJECT
YOUR_DATAHUB_ACCESS_ID
YOUR_DATAHUB_ACCESS_KEY
optype
readtime
record_id
1000
yyyy-MM-dd HH:mm:ss
true
datahub_ogg_plugin.dirty
200
0
0,1
4000
datahub_ogg_plugin.chk
t_person
t_person
3. 配置目标端mgr
编辑mgr配置edit params mgr
port7839
dynamicportlist7840-7849
purgeoldextracts dirdat/*,usecheckpoints, minkeepdays 7
启动mgr start mgr
4. 配置目标端writer
编辑配置edit params dhwriter
extract dhwriter
getEnv(JAVA_HOME)
getEnv(LD_LIBRARY_PATH)
getEnv(PATH)
CUSEREXIT libggjava_ue.so CUSEREXIT PASSTHRU INCLUDEUPDATEBEFORES,PARAMS"{YOUR_HOME}/datahub-ogg-plugin/conf/javaue.properties"
GetUpdateBefores
table ggtt.*;
编辑完成之后保存,添加extact进程并启动
# 添加进程
add extract dhwriter,exttrailsource dirdat/ms
# 启动
start dhwriter
三、MySQL和DataHub字段类型对应说明
DataHub的TIMESTAMP类型存储微秒时间戳,字段映射到TIMESTAMP类型时,都会被转为微秒时间戳。
MySQL
DataHub
备注
CHAR、VARCHAR
STRING
INT、TINYINT、BIG INT
BIGINT
DECIMAL、FLOAT、DOUBLE
DOUBLE/DECIMAL
根据精度选择
DATETIME、TIMESTAMP
TIMESTAMP
TEXT、TINYTEXT
STRING
以上是MySQL常见的数据类型和DataHub的对应,更多MySQL支持的数据类型可以参考官方文档
四、历史版本下载
这里只提供了DataHub插件下载,OGG for MySQL和OGG Adatper还请访问OGG官网 或者Oracle Software Delivery Cloud website进行下载。
datahub-ogg-plugin
OGG for MySQL
OGG Adapter
支持MySQL版本
12.2.0.2
12.2.0.1
企业版 / 社区版
12.2.0.2
12.2.0.1
企业版 / 社区版
12.2.0.2
12.2.0.1
企业版 / 社区版
mysql ogg_OGG for MySQL相关推荐
- qt mysql now()_Qt + mysql 運用 (項目一)
自己整合了一些資料方便以后查看,另外參考了一些資料嘗試做了個學生管理系統 以下資料若有錯誤或有侵權的地方,請前輩們指正,謝謝! 在Qt項目中右鍵執行qmake,之后在運行. 另外一種方法是在MVS20 ...
- windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql
下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...
- fedora mysql 客户端_fedora mysql 安装
本例使用的是 mysql-5.0.45.tar.gz 安装编译前提: Yum install gcc Yum install gcc-c++ 1.第一个MYSQL安装 编译1.带上参数 ./confi ...
- window mysql 字符集_Windows mysql默认字符集修改
一.通过MySQL命令行修改: mysql> SET character_set_client = utf8 ; mysql> SET character_set_connection = ...
- mysql启用keepalive_keepalive+mysql 主主配置
1. 环境说明: 机器名 eth0 说明 server01 192.168.100.30/24 Mysql.keepalive server02 192.168.100.31/24 Mysql.k ...
- 使用MySQL Proxy解决MySQL主从同步延迟
MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方 面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的, ...
- mysql isreg_`Innodb` MySQL中如何优雅的删除大表跑路
最近很想写写MySQL相关的内容,就从这个话题出发吧 有人说删MySQL表谁不会 不就是 drop table TABLENAME 如果在生产环境中,你对一张TB级别的大表,敲下这行命令 那么你的主管 ...
- oracle收购Mysql后,Mysql的安装配置方法
自从Oracle收购MySQL后,略微发生了一些小小的变化,原来mysql安装完成后默认是没有密码的,但是新版的mysql安装完成后oracle提供了一个free password放着/root/.m ...
- centos7 安装mysql php_Centos7安装mysql与php的方法
本文主要和大家分享Centos7安装mysql与php的方法,希望能帮助到大家. 相关mysql视频教程推荐:<mysql教程> 官网下载安装mysql-server 依次使用下面三个命令 ...
最新文章
- C2059 语法错误:“)”
- 朱林北京大学计算机学院,北大、清华状元谈英语学习经验-20210411145045.docx-原创力文档...
- 【jQuery】使用jquery.form.js,获取提交表单返回值
- 工作单元php,PHP面向对象中的工作单元是什么
- 在Eclipse中查看JDK类库的源代码
- 三只松鼠回应产品含有丙烯酰胺一事:产品符合国家食品安全标准
- 2021想学UI设计,你必需要知道这些
- AI 专利之争:小米超华为,国家电网才是大 Boss?
- php前台切图,php网页切图/js切图
- Windows Neptune的安装
- Elasticsearch可视化管理工具dejavu的安装使用
- 阿里云国际版建立云端数据库操作流程
- minigui源码学习
- android 有哪些设备id,Android之设备ID(Device ID)
- 【转】CAN总线与CANOPEN协议入门
- L1-078 吉老师的回归 (15 分) C语言
- 微信公众号的二次开发(一 订阅号没有获取网页授权的解决方法)
- matlab中根据表格数据画图,excel 表格数据画图-如何利用matlab根据excel表格里面的数据画图...
- Stochastic Gradient Hamiltonian Monte Carlo论文笔记
- 控件用法-WdatePicker 隐藏各按钮
热门文章
- IOS对战卡牌《梦回水浒》抢先体验
- 注册申请企业邮箱后如何使用,企业邮箱有已读回执功能吗?
- IBM 用机器学习寻找外星人,不用再望穿银河秋水
- bzoj2251 外星联络
- Android 二维码框4个角上下滚动条闪光灯,Android屏幕适配很难嘛其实也就那么回事
- TVM运行demo报错:LLVM ERROR: Cannot select: 0x559166c96d58,最后重新安装了LLVM
- 51单片机定时器基础知识
- Android studio完整安装
- 天猫升级:用“大数据”做生意
- 美版头条BuzzFeed两天股价涨3倍:因采用ChatGPT上岗写稿