在Windows中 基于Oracle GoldenGate (OGG)进行MySQL->MySQL数据库同步配置(超详细)_ogg-15146

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注go)
img

正文

log-bin-index = F:/mysqlbin/binlog.index # 自定义目录,日志保存路径

my.ini文件位置(Windows):https://jingyan.baidu.com/article/7e4409531f75292fc0e2efe7.html

  • 重启mysql服务

cmd> net stop mysql #停止服务
cmd> net start mysql #启动服务

参考:https://www.cnblogs.com/jpfss/p/8016283.html

  • 查看数据库当前日志模式

mysql> show variables like “log_%”;
±---------------------------------------±---------------------------------------+
| Variable_name | Value |
±---------------------------------------±---------------------------------------+
| log_bin | ON |
| log_bin_basename | F:\mysqlbin\binlog |
| log_bin_index | F:\mysqlbin\binlog.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| log_error | .\SC-201708231409.err |
| log_error_services | log_filter_internal; log_sink_internal |
| log_error_suppression_list | |
| log_error_verbosity | 2 |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | ON |
| log_slow_admin_statements | OFF |
| log_slow_extra | OFF |
| log_slow_slave_statements | OFF |
| log_statements_unsafe_for_binlog | ON |
| log_throttle_queries_not_using_indexes | 0 |
| log_timestamps | UTC |
±---------------------------------------±---------------------------------------+
18 rows in set, 1 warning (0.00 sec)

查看二进制日志状态.png

(2)、创建goldengate管理用户和测试表
  • 源端目标端创建测试表

源端

SQL> create database project;

测试端

SQL> create database project_target;

#创建project账号: CREATE USER ‘用户名’@‘host’ IDENTIFIED BY ‘密码’;
mysql> CREATE USER ‘project’@‘%’ IDENTIFIED BY ‘project’;
Query OK, 0 rows affected (0.12 sec)
#给project账号授权: GRANT ALL ON 数据库名.表名 TO ‘授权的用户’@‘host’;
mysql> GRANT ALL ON project.* TO ‘project’@‘%’;
Query OK, 0 rows affected (0.14 sec)

  • 目标端创建projectTarget用户

#创建projectTarget账号: CREATE USER ‘用户名’@‘host’ IDENTIFIED BY ‘密码’;
mysql> CREATE USER ‘projectTarget’@‘%’ IDENTIFIED BY ‘projectTarget’;
Query OK, 0 rows affected (0.12 sec)
#给projectTarget账号授权: GRANT ALL ON 数据库名.表名 TO ‘授权的用户’@‘host’;
mysql> GRANT ALL ON project_target.* TO ‘projectTarget’@‘%’;
Query OK, 0 rows affected (0.14 sec)

二、Oracle GoldenGate介绍

参考: https://www.cnblogs.com/qiumingcheng/p/5435907.html

三、Oracle GoldenGate安装(源端和目标端)

安装条件:
1、以administrator身份登录系统进行安装,只要安装者属于系统的administrator组就行。
2、安装Microsoft Visual C ++ 2005 SP1 Redistributable Package,这个是必须的。

安装方法很简单,只需要把压缩包解压后,把文件放到指定文件夹即可,如c:/gg目录。

(1)、点击下载 Oracle GoldenGate

ogg下载目录.png

(2)、解压123012_ggs_Windows_x64_MySQL_64bit

此版本为绿色版,直接解压到任意目录开始使用

ogg解压目录.png

注意:源端与目标端都需要进行安装Oracle GoldenGate

四、Oracle GoldenGate配置

====== 以下为Source(同步的数据源)Oracle GoldenGate配置 ======

1、Oracle GoldenGate(源端)

(1)、在源端服务器安装的OGG根目录按住SHift+右键cmd进入OGG根目录的命令面板
(2)、运行ogg:执行ggsci.exe

运行ogg

E:\OGG\oggmsql>ggsci.exe
Oracle GoldenGate Command Interpreter for MySQL
Version 12.3.0.1.2 OGGCORE_12.3.0.1.0_PLATFORMS_171208.0005
Windows x64 (optimized), MySQL Enterprise on Dec 8 2017 10:16:57
Operating system character set identified as GBK.

Copyright © 1995, 2017, Oracle and/or its affiliates. All rights reserved.

GGSCI (SC-201708231409) 1>

(3)、添加manager进行到windows服务,使之可以随windows开机自行启动

  • 手动指定服务名GGMGR(默认就是GGMGR)。用edit params ./GLOBALS命令(注意./GLOBALS为大写),进入编辑文件

编辑 GLOBALS文件(没有自动创建)

GGSCI (SC-201708231409) 1> edit params ./GLOBALS

  • 输入下面内容:

MGRSERVNAME GGMGR

  • 保存退出后,用install addservice命令添加服务

E:\OGG\oggmsql>install addservice
Service ‘GGMGR’ created.
Install program terminated normally.

(4)、输入create subdirs自动创建需要用到的文件夹

GGSCI (SC-201708231409) 1> create subdirs

主要目录介绍:
dirchk:存放检查点(Checkpoint)文件
dirdat:存放Trail与Extract文件,以后详述
dirdef:通过DEFGEN工具生成的源或目标的数据定义文件
dirpcs:存放进程状态文件
dirprm:存放参数文件
dirrpt:存放进程报告文件
dirsql:存放SQL脚本文件
dirtmp:当事务所需要的内存超过已分配内存时,缺省存储于此。

自动创建后的目录结构.png

(5)、登录project账号,输入dblogin sourcedb 数据库名@IP地址:端口号 userid 用户名 password 密码 (此处为源端数据库):

GGSCI (SC-201708231409) 2> dblogin sourcedb project@127.0.0.1:3306 userid project password project
Successfully logged into database.

GGSCI (SC-201708231409 DBLOGIN as project) 3>

(5)、配置mgr管理进程,输入edit params mgr将会弹出文本编辑器并写入:

GGSCI (SC-201708231409 DBLOGIN as project) 3> edit params mgr

以下是添加内容:

port 7809
dynamicportlist 7840-7939
autorestart er *, retries 5, waitminutes 3

(6)、启动mgr进程,输入start mgr

启动mgr进程, start 进程名

GGSCI (SC-201708231409 DBLOGIN as project) 12> start mgr
Starting Manager as service (‘OGGMGR’)…
Service started.

查看进程状态

GGSCI (SC-201708231409 DBLOGIN as project) 13> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING

停止mgr进程, stop 进程名

GGSCI (SC-201708231409 DBLOGIN as project) 14> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y

Sending STOP request to MANAGER (‘OGGMGR’) …
Request processed.
Manager stopped.

(7)、配置extract抽取进程,输入edit params eora将会弹出文本编辑器并写入:

GGSCI (SC-201708231409 DBLOGIN as project) 15> edit params eora

以下是添加内容:

extract eora
sourcedb project@127.0.0.1:3306 userid project password project
TranLogOptions AltLogDest F:\mysqlbin\binlog.index
exttrail E:\OGG\oggmsql\dirdat\et
table project.nbarankings2013;

说明
sourcedb:源端数据库信息
TranLogOptions AltLogDest:mysql二进制日志输出地址
exttrail:源端抽取出来的mysql日志存放地址(自定义),E:\OGG\oggmsql\dirdat\ et文件夹需要自己创建
table:同步的数据库和表,表名可以使用通配符,如table project.*

保存后,添加并启动eora进程,输入add extract eora,tranlog,begin nowadd exttrail E:\OGG\oggmsql\dirdat\et,extract eorastart eora

GGSCI (SC-201708231409 DBLOGIN as project) 16> add extract eora,tranlog,begin now
GGSCI (SC-201708231409 DBLOGIN as project) 17> add exttrail E:\OGG\oggmsql\dirdat\et,extract eora
GGSCI (SC-201708231409 DBLOGIN as project) 18> start eora

注意:启动前需要先启动mgr
否则会报error:
Sending START request to MANAGER ('OGGMGR') ...
2019-02-02 14:44:36 ERROR OGG-15146 Manager not currently running.

从指定日期开始抽取

(8)、配置pump_so投递进程,输入edit params pump_so将会弹出文本编辑器并写入:

GGSCI (SC-201708231409 DBLOGIN as project) 19> edit params pump_so

以下是添加内容:

extract Pump_so
sourcedb project@127.0.0.1:3306 userid project password project
rmthost 172.16.94.37,mgrport 7809,compress
rmttrail D:\OGG\oggmsql\dirdat\et
table project.nbarankings2013;

说明
sourcedb:源端数据库信息
rmthost :目标端ip地址, ogg端口号
rmttrail:目标端接收到的mysql日志存放地址(自定义),D:\OGG\oggmsql\dirdat\ et文件夹需要自己创建
table:同步的数据库和表,表名可以使用通配符,如table project.*

保存成功后,添加pump_so进程,输入(先不启动pump_so)add extract pump_so,exttrailsource E:\OGG\oggmsql\dirdat\etadd rmttrail D:\OGG\oggmsql\dirdat\et,extract pump_so

GGSCI (SC-201708231409 DBLOGIN as project) 20> add extract pump_so,exttrailsource E:\OGG\oggmsql\dirdat\et – 注意rmttrail的地址为源端服务器的目录
GGSCI (SC-201708231409 DBLOGIN as project) 21> add rmttrail D:\OGG\oggmsql\dirdat\et,extract pump_so – 注意rmttrail的地址为目标端服务器的目录

(9)、创建表的定义文件(.def)

GGSCI (SC-201708231409 DBLOGIN as project) 19> edit param defgen

以下是添加内容:

defsfile E:\OGG\oggmsql\dirdef\gmqdsjsjp.def
sourcedb project@127.0.0.1:3306 userid project, password project
table project.*;

说明
defsfile:.def存放位置和文件名
sourcedb:源端数据库信息
table:需要定义的数据库和表,表名可以使用通配符,如table project.*

  • 生成 .def文件,在ogg安装根目录

E:\OGG\oggmsql> defgen paramfile ./dirprm/defgen.prm

  • 将生成的 gmqdsjsjp.def文件复制到目标端安装目录下 dirdef 文件夹内

(10)、注意等待目标端安装完成后,启动start pump_so

  • 源端所需要启动的服务有3

start mgr
start eora
start pump_so
stop … //停止服务

<< 到此源端的配置就结束了 >>
====== End Source(同步的数据源)Oracle GoldenGate配置 ======

====== 以下为Target(同步的目标数据库)Oracle GoldenGate配置 ======

2、Oracle GoldenGate(目标端)

(1)、在目标端服务器安装的OGG根目录按住SHift+右键cmd进入OGG根目录的命令面板

(2)、运行ogg:执行ggsci.exe

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
束了 >>`
====== End Source(同步的数据源)Oracle GoldenGate配置 ======

====== 以下为Target(同步的目标数据库)Oracle GoldenGate配置 ======

2、Oracle GoldenGate(目标端)

(1)、在目标端服务器安装的OGG根目录按住SHift+右键cmd进入OGG根目录的命令面板

(2)、运行ogg:执行ggsci.exe

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-fDjZffTO-1713476871685)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值