用Golden Gate实现mysql到mysql的实时复制

本文介绍了如何使用Golden Gate实现MySQL数据库到另一个MySQL数据库的实时复制。步骤包括安装MySQL Server和ODBC组件,创建源和目标数据库及表,配置ODBC数据源,创建并设置Golden Gate的extract和replicat过程,最后启动复制并验证数据迁移成功。
摘要由CSDN通过智能技术生成

  1. 安装mysql server
  2. 安装mysql odbc组件。可以从这里下载。
  3. 创建mysql的源数据库和目标数据库
    create database project;
    create database project_target;
  4. 在源数据库和目标库中创建表。
    CREATE TABLE NBArankings2013(
    TeamID int(10) NOT NULL AUTO_INCREMENT,
    NBATeam varchar(255) NOT NULL,
    Division varchar(255) NOT NULL,
    WinPerc decimal(8,3) NOT NULL, GB  decimal(8,1) NOT NULL,
    Conference varchar(255) NOT NULL,
    PRIMARY KEY (TeamID)
    )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
  5. 在源数据库中插入测试数据。
    INSERT INTO NBArankings2013 (NBATeam, Division, WinPerc, GB, Conference)
    VALUES ('New York', 'Atlantic', '0.659', '12', 'East'),
    ('Brooklyn', 'Atlantic', '0.598', '17', 'East'),
    ('Boston', 'Atlantic', '0.506', '24.5', 'East'),
    ('Philadelphia', 'Atlantic', '0.415', '32', 'East'),
    ('Toronto', 'Atlantic', '0.415', '32', 'East'),
    ('Indiana', 'Central', '0.605', '16.5', 'East'),
    ('Chicago', 'Central', '0.549', '21', 'East'),
    ('Milwaukee', 'Central', '0.463', '28', 'East'),
    ('Detriot', 'Central', '0.354', '37', 'East'),
    ('Cleveland', 'Central', '0.293', '42', 'East'),
    ('Miami', 'Southeast', '0.805', '0', 'East'),
    ('Atlanta', 'Southeast', '0.537', '22', 'East'),
    ('Washington', 'Southeast', '0.354', '37', 'East'),
    ('Charlotte', 'Southeast', '0.256', '45', 'East'),
    ('Orlando', 'Southeast', '0.244', '46', 'East'),
    ('San Antonio', 'Southwest', '0.707', '2', 'West'),
    ('Memphis', 'Southwest', '0.683', '4', 'West'),
    ('Houston', 'Southwest', '0.549', '15', 'West'),
    ('Dallas', 'Southwest', '0.5', '19', 'West'),
    ('New Orleans', 'Southwest', '0.329', '33', 'West'),
    ('Oklahoma City', 'Northwest', '0.732', '0', 'West'),
    ('Denver', 'Northwest', '0.695', '3', 'West'),
    ('Utah', 'Northwest', '0.524', '17', 'West'),
    ('Portland', 'Northwest', '0.402', '27', 'West'),
    ('Minnesota', 'Northwest', '0.376', '29', 'West'),
    ('LA Clippers', 'Pacific', '0.683', '4', 'West'),
    ('Golden State', 'Pacific', '0.573', '13', 'West'),
    ('LA Lakers', 'Pacific', '0.549', '15', 'West'),
    ('Sacramento', 'Pacific', '0.341', '32', 'West'),
    ('Phoenix', 'Pacific', '0.305', '35', 'West');
  6. 创建ODBC数据源。
  7. 打开console,切换到gg安装的目录。
  8. 运行ggsci.exe。
  9. 创建需要的中间文件夹,dir开头的,肯定会用到。不创建的话就会报很多错误的。
  10. 创建manager。
    EDIT PARAMS MGR
    会询问你是否创建新的配置文件,选择创建,然后在新的配置文件中输入一下内容。
    PORT 7809
  11. 启动manager。
    START MGR
    执行命令后会弹出一个新的窗口来运行manager。
  12. 添加源数据库并配置
    ADD EXTRACT INITLOD1, SOURCEISTABLE
    EDIT PARAMS INITLOD1
    之后会询问是否创建新的配置文件,同上,并输入配置信息
    EXTRACT INITLOD1
    
    DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3306
    SOURCEDB project, USERID root@project, PASSWORD 123456
    RMTHOST 127.0.0.1, MGRPORT 7089
    RMTFILE ./dirdat/el1.dat, PURGE
    TABLE project.*;
  13. 添加目标数据库并配置
    ADD REPLICAT INITLOD2, SPECIALRUN
    EDIT PARAMS INITLOD2
    之后会询问是否创建新的配置文件,同上,并输入配置信息
    REPLICAT INITLOD2
    SPECIALRUN
    HANDLECOLLISIONS
    
    DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3306
    TARGETDB project_target, USERID root@project_target, PASSWORD 123456 
    ASSUMETARGETDEFS
    EXTFILE ./dirdat/el1.dat
    DISCARDFILE ./dirrpt/el1.dsc, PURGE
    MAP project.*, TARGET project_target.*;
  14. 开始复制源数据库的数据,并查看报告。
    start extract INITLOD1
    view report INITLOD1
    最后会看到这样的数据:
  15. 开始向目标数据库中复制数据。
    START REPLICAT INITLOD2
  16. 在mysql的console中查看目标表中的数据。可以看到数据已经过去了。


另外附上可能会用到的命令

查看manager的状态

info manager
status manager
start manager
stop manager
restart manager
查看日志

view ggsevt


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值