Goldengate完成Mysql到Mysql的数据同步

Posted 卡布奇洛_菠萝蜜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Goldengate完成Mysql到Mysql的数据同步相关的知识,希望对你有一定的参考价值。

文档参考地址:http://blog.csdn.net/u010587433/article/details/49305019

 

需求:

       使用Goldengate完成mysql到Mysql的数据同步,源库的o2m-mc库同步到目标库的gmdc库,表名GMQDSJSP,换句话说,就是不同数据库之间表之间数据的同步

                

实验准备:

系统: CentOS 7.2

mysql版本 :  5.7-12

mysql-1 : 192.168.68.13     mysql-2:192.168.68.14

 

 

1、初始化

1)目标库创建数据库

mysql> create database gmdc;

2)导入数据 

将源库表GMQDSJSP数据导出,然后导入到目标库中

[sql] view plain copy
 
  1. mysqldump -uroot -p123456  --single-transaction --flush-logs --master-data=2 -B o2m-mc --tables GMQDSJSP > /tmp/GMQDSJSP20151021.sql  
  2. mysql -uroot -p123456 gmdc <  /tmp/GMQDSJSP20151021.sql  

2、源库

1)修改参数

在/etc/my.cnf的[mysqld]下添加如下参数

[sql] view plain copy
 
  1. binlog_format=row  
  2. log-bin = mysql-bin          #开启二进制日志

重启

[sql] view plain copy
 
  1. service mysqld restat  

2)创建用户并授权

[sql] view plain copy
 
  1. mysql> GRANT ALL PRIVILEGES ON `o2m-mc`.* TO ‘ogg‘@localhost IDENTIFIED BY ‘ogg;  
  2. mysql> GRANT ALL PRIVILEGES ON `o2m-mc`.* TO ‘ogg‘@‘%‘IDENTIFIED BY ‘ogg;  

3)解压安装创建相应目录

 
[sql] view plain copy
 
  1. unzip ggs_121210_Linux_x64_MySQL_64bit.zip -d /home/goldengate  
  2. cd /home/goldengate  
  3. tar xvf ggs_Linux_x64_MySQL_64bit.tar   
  4. ./ggsci   
  5.   
  6. GGSCI (hadooptest05) 1> create subdirs  
  7.   
  8. Creating subdirectories under current directory /home/goldengate  
  9.   
  10. Parameter files                /home/goldengate/dirprm: already exists  
  11. Report files                   /home/goldengate/dirrpt: created  
  12. Checkpoint files               /home/goldengate/dirchk: created  
  13. Process status files           /home/goldengate/dirpcs: created  
  14. SQL script files               /home/goldengate/dirsql: created  
  15. Database definitions files     /home/goldengate/dirdef: created  
  16. Extract data files             /home/goldengate/dirdat: created  
  17. Temporary files                /home/goldengate/dirtmp: created  
  18. Credential store files         /home/goldengate/dircrd: created  
  19. Masterkey wallet files         /home/goldengate/dirwlt: created  
  20. Dump files                     /home/goldengate/dirdmp: created  

4)配置管理进程

 
[sql] view plain copy
 
  1. GGSCI (hadooptest05) 2>  edit params mgr  
  2.   
  3. port 7809  
  4. dynamicportlist 7840-7939  
  5. autorestart er *, retries 5, waitminutes 3  
  6. purgeoldextracts /home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2  
  7. GGSCI (hadooptest05) 3> start mgr  
  8.         Manager started.  

5)配置抽取进程

 
[sql] view plain copy
 
  1. GGSCI (hadooptest05) 4> edit param mce1  
  2. extract mce1  
  3. sourcedb [email protected]:3306 userid ogg password ogg  
  4. exttrail /home/goldengate/dirdat/me  
  5. discardfile  /home/goldengate/dirrpt/mce1.dsc,append  
  6. TranLogOptions AltLogDest /home/mariadb/data/binlogs.index  
  7. table o2m-mc.GMQDSJSP;  
  8. GGSCI (hadooptest05) 5> add extract mce1,tranlog,begin now  
  9. GGSCI (hadooptest05) 6> add exttrail /home/goldengate/dirdat/me,extract mce1  
  10. GGSCI (hadooptest05) 7> start mce1  




6)配置传递进程

[sql] view plain copy
 
  1. GGSCI (hadooptest05) 8> edit param mcp1  
  2. extract mcp1  
  3. passthru  
  4. sourcedb [email protected]:3306 userid ogg password ogg  
  5. rmthost  192.168.68.14,mgrport 7809,compress  
  6. rmttrail  /home/goldengate/dirdat/mp  
  7.   
  8. dynamicresolution  
  9. numfiles 3000  
  10. table o2m-mc.GMQDSJSP;  
  11. GGSCI (hadooptest05) 9> add extract mcp1,exttrailsource /home/goldengate/dirdat/me  
  12. GGSCI (hadooptest05) 10> add rmttrail /home/goldengate/dirdat/mp,extract mcp1  
  13. GGSCI (hadooptest05) 11> start mcp1  



7)创建表的定义文件

[sql] view plain copy
 
  1. #创建参数文件  
  2. GGSCI (hadooptest05) 10>  edit param defgen  
  3.   
  4. defsfile ./dirdef/gmqdsjsjp.def  
  5. sourcedb [email protected]:3306 userid ogg, password ogg  
  6. table o2m-mc.GMQDSJSP;  
  7. #生成表定义文件  
  8.  ./defgen paramfile ./dirprm/defgen.prm  
  9. #传至目标库目录  
  10. scp /home/mysql/goldengate/dirdef/gmqdsjsjp.def 192.168.68.14:/home/goldengate/dirdef/  

3、目标库

1)创建用户

[sql] view plain copy
 
  1. mysql> GRANT ALL PRIVILEGES ON `gmdc`.* TO ‘ogg‘@localhost  IDENTIFIED BY ‘ogg‘;  
  2. mysql> GRANT ALL PRIVILEGES ON `gmdc`.* TO ‘ogg‘@‘%‘  IDENTIFIED BY ‘ogg‘;  

2)同样解压安装并创建目录

[sql] view plain copy
 
  1. unzip ggs_121210_Linux_x64_MySQL_64bit.zip -d /home/goldengate  
  2. cd /home/goldengate  
  3. tar xvf ggs_Linux_x64_MySQL_64bit.tar   
  4. ./ggsci   
  5.   
  6. GGSCI (db) 1> create subdirs  
  7.   
  8. Creating subdirectories under current directory /home/goldengate  
  9.   
  10. Parameter files                /home/goldengate/dirprm: already exists  
  11. Report files                   /home/goldengate/dirrpt: created  
  12. Checkpoint files               /home/goldengate/dirchk: created  
  13. Process status files           /home/goldengate/dirpcs: created  
  14. SQL script files               /home/goldengate/dirsql: created  
  15. Database definitions files     /home/goldengate/dirdef: created  
  16. Extract data files             /home/goldengate/dirdat: created  
  17. Temporary files                /home/goldengate/dirtmp: created  
  18. Credential store files         /home/goldengate/dircrd: created  
  19. Masterkey wallet files         /home/goldengate/dirwlt: created  
  20. Dump files                     /home/goldengate/dirdmp: created  

3)配置管理进程

[sql] view plain copy
 
  1. GGSCI (db) 3>  edit params mgr  
  2.   
  3. port 7809  
  4. dynamicportlist 7840-7939  
  5. autorestart er *, retries 5, waitminutes 3  
  6. purgeoldextracts /home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2  
  7. GGSCI (db) 4> start mgr  
  8.         Manager started.  

4)添加检查点表

[sql] view plain copy
 
  1. GGSCI (db) 5>  dblogin sourcedb [email protected]:3306 userid ogg password ogg  
  2. GGSCI (db DBLOGIN as ogg) 6>  add checkpointtable gmdc.checkpoint  
  3. GGSCI (db DBLOGIN as ogg) 7>  edit params ./GLOBALS  
  4. checkpointtable gmdc.checkpoint  

5)配置应用进程

[sql] view plain copy
 
  1. GGSCI (db) 1>  edit params mcr1  
  2. replicat mcr1  
  3. targetdb [email protected]:3306 userid ogg password ogg  
  4. handlecollisions  
  5. sourcedefs /home/goldengate/dirdef/gmqdsjsp.def  
  6. discardfile /home/goldengate/dirrpt/mcr1.dsc,purge  
  7. map o2m-mc.GMQDSJSP, target gmdc.GMQDSJSP;  
  8.   
  9. GGSCI (db) 2> add replicat mcr1,exttrail /home/goldengate/dirdat/mp,checkpointtable gmdc.checkpoint  
  10. GGSCI (db) 3> start mcr1

4、测试数据同步

注意:mysql中表的大小注意区分

 

info mgr  //查看启动信息

以上是关于Goldengate完成Mysql到Mysql的数据同步的主要内容,如果未能解决你的问题,请参考以下文章

Oracle GoldenGate学习之--异构平台同步(Mysql到Oracle)

oracle迁移到mysql方案之——ogg(goldengate)

使用Goldengate同步异构数据库之Kafka中间件

异构平台同步(Mysql到Oracle)

日历表插件的数据传不进mysql

定期从Oracle导数据至MySQL