合 使用OGG for mysql微服务搭建双主架构(含DDL)
相关文章
OGG有传统的经典架构,也有最新的微服务,2个都可以远程捕获和应用数据,对数据库服务器是0侵入,而传统的经典架构是纯命令行模式,最新的微服务架构是图形化界面操作,几乎所有操作都可以在界面进行。
相关文章可以参考:
使用OGG for MySQL微服务快速双向同步RDS数据库:https://www.dbaup.com/shiyongoggweifuwukuaisushuangxiangtongburdsshujuku.html
OGG用于跨云RDS for MySQL之间配置双主实时同步–OGG远程捕获和投递:https://www.dbaup.com/oggyongyukuayunrdszhijianpeizhishuangzhushishitongbuyuanchengbuhuohetoudi.html
otter用于跨云RDS for mysql之间配置双主实时同步:https://www.dbaup.com/otteryongyukuayunrdszhijianpeizhishuangzhushishitongbu.html
OGG用于PG数据库之间双主实时同步(RDS for PG亦可)–OGG远程捕获和投递:https://www.dbaup.com/oggyongyupgshujukuzhijianshuangzhushishitongburds-for-pgyikeoggyuanchengbuhuohetoudi.html
使用OGG for PG微服务快速双向同步RDS数据库(双主):https://www.dbaup.com/shiyongogg-for-pgweifuwukuaisushuangxiangtongburdsshujukushuangzhu.html
使用阿里的开源工具otter,这个方案经过验证是可行的。阿里数据同步工具Otter和Canal简介请参考:https://www.dbaup.com/alishujutongbugongjuotterhecanaljianjie.html
使用OGG for Oracle微服务双向同步Oracle数据库搭建双主架构(含DDL):https://www.dbaup.com/shiyongogg-for-oracleweifuwushuangxiangtongbuoracleshujukuhanddl.html
使用OGG微服务环境搭建
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | -- 创建专用网络 docker network create --subnet=172.72.5.0/24 mysql-network -- OGG 微服务 docker pull lhrbest/ogg213mamysql:v1.0 docker rm -f lhrogg213mamysql docker run -d --name lhrogg213mamysql -h lhrogg213mamysql \ --net=mysql-network --ip 172.72.5.95 \ -p 9389:3389 -p 9000-9005:9000-9005 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true lhrbest/ogg213mamysql:v1.0 \ /usr/sbin/init -- MySQL 8.0.27 mysqla docker rm -f mysqla docker run -d --name mysqla -h mysqla \ -p 33690:3306 --net=mysql-network --ip 172.72.5.90 \ -e MYSQL_ROOT_PASSWORD=lhr -e TZ=Asia/Shanghai \ mysql:8.0.27 -- MySQL 8.0.27 mysqlb docker rm -f mysqlb docker run -d --name mysqlb -h mysqlb \ -p 33691:3306 --net=mysql-network --ip 172.72.5.91 \ -e MYSQL_ROOT_PASSWORD=lhr -e TZ=Asia/Shanghai \ mysql:8.0.27 -- 创建数据库 mysql -uroot -plhr -h192.168.66.35 -P33690 mysql -uroot -plhr -h192.168.66.35 -P33691 create database lhrdb charset utf8mb4; set global binlog_row_metadata=full; alter user root@'%' identified with mysql_native_password by 'lhr'; flush privileges; |
访问:http://192.168.66.35:9000 ,用户名:oggadmin,密码:lhr
- 管理服务(Admin server): 用于创建用户、添加附加日志、创建抽取和投递进程,类似在ggsci命令下添加附加日志、extract、replicat进程
- 分发服务(Distribution server):用于创建传输进程,类似于以前的pump进程
- 接收方服务(Receiver server):用于监控接收进程,类似于以前的server collector进程
- 性能度量服务(Performance metrics server):性能监控,这个里面信息非常多,例如ADMINSRVR包括进程性能,线程性能以及进程状态与配置,非常详细与直观。
配置身份证明、检查点表
配置mysqla到mysqlb的同步
创建extract进程
参数内容:
1 2 3 4 5 6 7 8 9 | EXTRACT exta SOURCEDB lhrdb@172.72.5.90:3306 USERIDALIAS mysqla, DOMAIN OGGMA DDL INCLUDE MAPPED DDLOPTIONS REPORT TRANLOGOPTIONS ALTLOGDEST REMOTE IGNOREREPLICATES TRANLOGOPTIONS FILTERTABLE mysql.ckpt EXTTRAIL ./dirdat/e1 TABLE lhrdb.*; |
创建replicate进程
1 2 3 4 5 | REPLICAT repa TARGETDB lhrdb@172.72.5.91:3306 USERIDALIAS mysqlb, DOMAIN OGGMA DDL INCLUDE MAPPED DDLOPTIONS REPORT MAP lhrdb.*, TARGET lhrdb.*; |
校验同步
1 2 3 | create table test(id int primary key); insert into test values(1); select * from test; |