oceanbase数据实时同步到mysql

article/2025/10/9 16:05:00

目录

确定同步架构

安装oceanbase

服务器准备

服务器配置

安装oceanbase

安装oblogproxy

安装DataX

安装canal

安装canal-deployer

安装canal-adapter

执行迁移

表结构同步

全量同步

增量同步

启动canal-deployer

启动canal-adapter 

验证

遗留问题

参考文档


确定同步架构

要实现数据实时同步,在大数据领域有一个标准流程大致如下:

1.把源数据库的数据结构(表、索引、视图等)迁移到目标库

2.把源数据库现存的数据全量同步到目标库

3.同步全量后产生的增量日志,在目标数据库上回放

4.数据校验

借用OMS官方数据迁移功能的架构图如下:

迁移模式.png

但OMS目前是企业版本的功能,还没有开源,并且当oceanbase做为源端时,只支持增量同步数据到rocketmq\kafka这一个步骤,所以无法使用。

社区版开放了oblogproxy,看介绍属于OMS的一部分,提供实时增量链路接入和管理能力,目前支持的链路接入方式有oblogclient和canal

因此我们4个步骤分别采用以下方案来实现:

1.结构迁移目前没有找到合适的迁移工具,只能手动来做

2.全量同步采用datax

3.增量同步采用oblogproxy+canal

4.数据校验问题很多,开发工作量大,这里暂时不考虑

安装oceanbase

服务器准备

服务器操作系统配置目录规划
172.18.128.73

CentOS 7.6

内核4.14.187

40c128G

万兆网卡

oceanbase home: /opt/oceanbase
oceanbase data:   /data/oceanbase/data
oceanbase data:   /data/oceanbase/redo
datax:                    /opt/datax
canal-deployer:     /opt/canal-deployer
canal-adapter:       /opt/canal-adapter

服务器配置

因为是部署单机版本,所以跳过ssh、时钟源配置

内核参数调整

#关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
#加大内核异步I/O限制
echo 'fs.aio-max-nr=1048576'>>/etc/sysctl.conf
sysctl -p
#关闭selinux                                                                                                                                                                                                                                                 
setenforce 0                                                                                                                      
vi /etc/selinux/config                                                                                                                                                                                            SELINUX=disabled                                                                                                                                

创建操作系统用户

useradd -U oceanbase -d /home/oceanbase -s /bin/bash
mkdir -p /home/oceanbase
sudo chown -R oceanbase:oceanbase /home/oceanbase
#设置密码
passwd oceanbase
#设置sudo权限
echo 'oceanbase       ALL=(ALL)       NOPASSWD: ALL'>>/etc/sudoers

创建data、redo、home目录

mkdir -p /data/oceanbase/data
mkdir -p /data/oceanbase/redo
mkdir /opt/oceanbase
#授权给oceanbase帐号
chown -R oceanbase:oceanbase /data/oceanbase
chown -R oceanbase:oceanbase /opt/oceanbase

安装oceanbase

本次使用OceanBase 部署工具 OBD来安装oceanbase

安装最新版本OBD-1.1.2

wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/ob-deploy-1.1.2-1.el7.x86_64.rpm 
yum install -y ob-deploy

下载oceanbase安装包

#下载最新安装包
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oceanbase-ce-libs-3.1.1-4.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oceanbase-ce-3.1.1-4.el7.x86_64.rpm  
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obproxy-3.2.0-1.el7.x86_64.rpm
#安装包添加到本地镜像
obd mirror clone oceanbase-ce-libs-3.1.1-4.el7.x86_64.rpm
obd mirror clone oceanbase-ce-3.1.1-4.el7.x86_64.rpm  
obd mirror clone obproxy-3.2.0-1.el7.x86_64.rpm

生成配置文件mini-single.conf,主要注意ip、目录、网卡名称、端口

user:                                                                                                                                                         username: oceanbase  #之前创建的操作系统用户                                                                                                                                       password: xxxxxxxxxxx
oceanbase-ce:servers:- 172.18.128.73global:home_path: /opt/oceanbasedata_dir: /data/oceanbase/dataredo_dir: /data/oceanbase/redodevname: bond0mysql_port: 2881rpc_port: 2882zone: zone1cluster_id: 1memory_limit: 8Gsystem_memory: 4Gstack_size: 512Kcpu_count: 16cache_wash_threshold: 1G__min_full_resource_pool_memory: 268435456workers_per_cpu_quota: 10schema_history_expire_time: 1dnet_thread_count: 4major_freeze_duty_time: Disableminor_freeze_times: 10enable_separate_sys_clog: 0enable_merge_by_turn: FALSEdatafile_disk_percentage: 20 syslog_level: INFOenable_syslog_wf: falseenable_syslog_recycle: truemax_syslog_file_count: 4

使用obd部署集群

[root@clogcap01 opt]$ obd cluster deploy mini-single -c mini-single.conf                                                                                      
oceanbase-ce-3.1.1 already installed.                                                                                                                         
+-----------------------------------------------------------------------------+                                                                               
|                                   Packages                                  |                                                                               
+--------------+---------+---------+------------------------------------------+                                                                               
| Repository   | Version | Release | Md5                                      |                                                                               
+--------------+---------+---------+------------------------------------------+                                                                               
| oceanbase-ce | 3.1.1   | 4.el7   | f19f8bfb67723712175fb0dfd60579196b3168f1 |                                                                               
+--------------+---------+---------+------------------------------------------+                                                                               
Repository integrity check ok                                                                                                                                 
Parameter check ok                                                                                                                                            
Open ssh connection ok                                                                                                                                        
Remote oceanbase-ce-3.1.1-f19f8bfb67723712175fb0dfd60579196b3168f1 repository install ok                                                                      
Remote oceanbase-ce-3.1.1-f19f8bfb67723712175fb0dfd60579196b3168f1 repository lib check ok                                                                    
Cluster status check ok                                                                                                                                       
Initializes observer work home ok                                                                                                                             
mini-single deployed 

启动集群

[root@clogcap01 opt]$ obd cluster start mini-single                                                                                                           
Get local repositories and plugins ok                                                                                                                         
Open ssh connection ok                                                                                                                                        
Cluster param config check ok                                                                                                                                 
Check before start observer ok                                                                                                                                
[WARN] (172.18.128.73) The recommended number of open files is 655350 (Current value: 100018)                                                                 
[WARN] (172.18.128.73) clog and data use the same disk (/data)                                                                                                Start observer ok                                                                                                                                             
observer program health check ok                                                                                                                              
Connect to observer ok                                                                                                                                        
Initialize cluster                                                                                                                                            
Cluster bootstrap ok                                                                                                                                          
Wait for observer init ok                                                                                                                                     
+-------------------------------------------------+                                                                                                           
|                     observer                    |                                                                                                           
+---------------+---------+------+-------+--------+                                                                                                           
| ip            | version | port | zone  | status |                                                                                                           
+---------------+---------+------+-------+--------+                                                                                                           
| 172.18.128.73 | 3.1.1   | 2881 | zone1 | active |                                                                                                           
+---------------+---------+------+-------+--------+                                                                                                           mini-single running 

安装obclient

wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/libobclient-2.0.0-2.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obclient-2.0.0-2.el7.x86_64.rpm
yum install -y libobclient-2.0.0-2.el7.x86_64.rpm
yum install -y obclient-2.0.0-2.el7.x86_64.rpm

连接测试

[root@clogcap01 opt]$ obclient -h 172.18.128.73 -P 2881 -uroot                                                                                                
Welcome to the OceanBase.  Commands end with ; or \g.                                                                                                         
Your MySQL connection id is 3221487838                                                                                                                        
Server version: 5.7.25 OceanBase 3.1.1 (r4-8c615943cbd25a6f7b8bdfd8677a13a21709a05e) (Built Oct 21 2021 10:33:14)                                             Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.                                                                                          Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.                                                                                MySQL [(none)]> select * from oceanbase.__all_server\G                                                                                                        
*************************** 1. row ***************************                                                                                                gmt_create: 2021-11-19 10:39:19.588072                                                                                                             gmt_modified: 2021-11-19 10:39:46.068672                                                                                                             svr_ip: 172.18.128.73                                                                                                                          svr_port: 2882                                                                                                                                   id: 1                                                                                                                                      zone: zone1                                                                                                                                  inner_port: 2881                                                                                                                                   with_rootserver: 1                                                                                                                                      status: active                                                                                                                                 
block_migrate_in_time: 0                                                                                                                                      build_version: 3.1.1_4-8c615943cbd25a6f7b8bdfd8677a13a21709a05e(Oct 21 2021 10:33:14)                                                                 stop_time: 0                                                                                                                                      start_service_time: 1637289584068327                                                                                                                       first_sessid: 0                                                                                                                                      with_partition: 1                                                                                                                                      last_offline_time: 0                                                                                                                                      
1 row in set (0.004 sec)

安装oblogproxy

安装

wget http://pub.mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oblogproxy-1.0.0-1.el7.x86_64.rpm
yum install -y oblogproxy-1.0.0-1.el7.x86_64.rpm

配置

#加密sys租户用户名和密码
[root@clogcap01 oblogproxy]$ /usr/local/oblogproxy/bin/logproxy -x root                                                                                       
B13EE2C14A1FBCDCC0ECABFB1DF9A7C7                                                                                                                              
[root@clogcap01 oblogproxy]$ /usr/local/oblogproxy/bin/logproxy -x 123456                                                                                     
F500DDFCA64C6A4C890EA46E750663F8
#把上面的加密后的密文填入配置文件
[root@clogcap01 oblogproxy]$ cat conf/conf.json                                                                                                               
{                                                                                                                                                             "service_port": 2983,                                                                                                                                       "encode_threadpool_size": 8,                                                                                                                                "encode_queue_size": 20000,                                                                                                                                 "max_packet_bytes": 8388608,                                                                                                                                "record_queue_size": 1024,                                                                                                                                  "read_timeout_us": 2000000,                                                                                                                                 "read_fail_interval_us": 1000000,                                                                                                                           "read_wait_num": 20000,                                                                                                                                     "send_timeout_us": 2000000,                                                                                                                                 "send_fail_interval_us": 1000000,                                                                                                                           "command_timeout_s": 10,                                                                                                                                    "log_quota_size_mb": 5120,                                                                                                                                  "log_quota_day": 30,                                                                                                                                        "log_gc_interval_s": 43200,                                                                                                                                 "oblogreader_path_retain_hour": 168,                                                                                                                        "oblogreader_lease_s": 300,                                                                                                                                 "oblogreader_path": "./run",                                                                                                                                "allow_all_tenant": true,                                                                                                                                   "auth_user": true,                                                                                                                                          "auth_use_rs": false,                                                                                                                                       "auth_allow_sys_user": true,                                                                                                                                "ob_sys_username": "B13EE2C14A1FBCDCC0ECABFB1DF9A7C7",                                                                                                      "ob_sys_password": "F500DDFCA64C6A4C890EA46E750663F8",                                                                                                      "counter_interval_s": 2,                                                                                                                                    "metric_interval_s": 120,                                                                                                                                   "debug": false,                                                                                                                                             "verbose": false,                                                                                                                                           "verbose_packet": false,                                                                                                                                    "readonly": false,                                                                                                                                          "count_record": false,                                                                                                                                      "channel_type": "plain",                                                                                                                                    "tls_ca_cert_file": "",                                                                                                                                     "tls_cert_file": "",                                                                                                                                        "tls_key_file": "",                                                                                                                                         "tls_verify_peer": true,                                                                                                                                    "liboblog_tls": false,                                                                                                                                      "liboblog_tls_cert_path": ""                                                                                                                                
}

启动

[root@clogcap01 oblogproxy]$ bash ./run.sh start                                                                                                              
work path : /usr/local/oblogproxy                                                                                                                             
is_running : (30642)/usr/local/oblogproxy logproxy is running !                                                                                               
logproxy started! 

安装DataX

  OceanBase 社区版

安装canal

由于canal官方版本目前还不支持oceanbase,oceanbase自己维护了一个canal分支。

其中canal-deployer负责从数据源接收增量日志并解析成CanalEntry。

canal-adapter负责消费canal-deployer生成的CanalEntry,写到目标。

安装canal-deployer

为了简化,我们使用tcp模式,生产建议使用MQ模式,Canal先将数据写入kafka或rocketmq,用户可以使用客户端(如canal-adapter)连接kafka或rocketmq进行数据消费

#下载解压
mkdir /opt/canal-deployer
cd /opt/canal-deployer
wget https://github.com/oceanbase/canal/releases/download/canal-for-ob-rc2-bp2/canal.deployer-for-ob-rc2.tar.gz
tar -zxvf canal.deployer-for-ob-rc2.tar.gz
#修改canal server配置文件
vim conf/canal.propertiescanal.serverMode = tcpcanal.instance.global.spring.xml = classpath:spring/ob-file-instance.xml

安装canal-adapter

#下载解压
mkdir /opt/canal-adapter
cd /opt/canal-adapter
wget https://github.com/oceanbase/canal/releases/download/canal-for-ob-rc2-bp2/canal.adapter-for-ob-rc2.tar.gz
tar -zxvf canal.adapter-for-ob-rc2.tar.gz

执行迁移

表结构同步

在oceanbase和mysql数据库都创建一个表

CREATE TABLE students (id int primary key,name varchar(100) 
)

在oceanbase插入数据

MySQL [test_cdc]> insert into students values(1,'a');                                                          
Query OK, 1 row affected (0.004 sec)                                                                           MySQL [test_cdc]> insert into students values(2,'b');                                                          
Query OK, 1 row affected (0.005 sec)                                                                           MySQL [test_cdc]> insert into students values(3,'c');                                                          
Query OK, 1 row affected (0.003 sec)                                                                           MySQL [test_cdc]> select * from students;                                                                      
+----+------+                                                                                                  
| id | NAME |                                                                                                  
+----+------+                                                                                                  
|  1 | a    |                                                                                                  
|  2 | b    |                                                                                                  
|  3 | c    |                                                                                                  
+----+------+                                                                                                  
3 rows in set (0.001 sec) 

全量同步

生成作业文件/opt/datax/job/otm.json

{"job": {"setting": {"speed": {"channel":3},"errorLimit": {"record": 0}},"content": [{"reader": {"name": "oceanbasev10reader","parameter": {"username": "root","password": "123456","column": ["*"],"weakRead": "false","readBatchSize": 30,"connection": [{"jdbcUrl": "jdbc:oceanbase://172.18.128.73:2881/test_cdc","table": ["students"]}]}},"writer": {"name": "mysqlwriter","parameter": {"writeMode": "insert","username": "test_cdc","password": "7jJBHdfjl","column": ["*"],"connection": [{"jdbcUrl": "jdbc:mysql://172.21.10.26:24313/test_cdc","table": ["students"]}]}}}]}
}

执行迁移python /opt/datax/bin/datax.py /opt/datax/job/otm.json 

查看mysql,数据已经实时同步过来

增量同步

启动canal-deployer

修改instance配置文件,vim conf/example/instance.properties。

# ob server info
canal.instance.oceanbase.rsList=172.18.128.73:2882:2881
canal.instance.oceanbase.username=root@sys#mini-single
canal.instance.oceanbase.password=123456
canal.instance.oceanbase.startTimestamp=1637379943000# ob log proxy info
canal.instance.oceanbase.logproxy.address=172.18.128.73:2983
canal.instance.oceanbase.logproxy.sslEnabled=false
canal.instance.oceanbase.logproxy.serverCert=../conf/${canal.instance.destination:}/ca.crt
canal.instance.oceanbase.logproxy.clientCert=../conf/${canal.instance.destination:}/client.crt
canal.instance.oceanbase.logproxy.clientKey=../conf/${canal.instance.destination:}/client.key# tenant name
canal.instance.oceanbase.tenant=sys
# exclude tenant name in target schema name
canal.instance.parser.excludeTenantInDbName=true# table regex, format: [tenant].[database].[table]
#同步sys租户下test_cdc数据库下的所有表
canal.instance.filter.regex=sys.test_cdc.*  # mq config
#canal.mq.topic=example
# dynamic topic route by schema or table regex
#canal.mq.dynamicTopic=mytest1.user,mytest2\\..*,.*\\..*
#canal.mq.partition=0

运行bin/startup.sh启动canal-deployer,查看/opt/canal/logs/example/example.log启动成功

2021-11-20 12:00:16.121 [main] INFO  c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start CannalInstance for 1-example        
2021-11-20 12:00:16.134 [main] WARN  c.alibaba.otter.canal.parse.inbound.AbstractBinlogParser - --> init table filter : ^sys.test_cdc.*$ 
2021-11-20 12:00:16.135 [main] WARN  c.alibaba.otter.canal.parse.inbound.AbstractBinlogParser - --> init table black filter :            
2021-11-20 12:00:16.218 [main] INFO  c.a.otter.canal.instance.core.AbstractCanalInstance - start successful....                          
2021-11-20 12:00:16.218 [destination = example , address = /172.18.128.73:2983 , EventParser] INFO  c.a.o.c.p.inbound.oceanbase.logproxy.
LogProxyEventParser - Build connection with config rootserver_list=172.18.128.73:2882:2881, cluster_user=root@sys#mini-single, cluster_pa
ssword=******, tb_white_list=sys.test_cdc.*, start_timestamp=1637379943000                                                               
2021-11-20 12:00:16.275 [Thread-5] WARN  com.oceanbase.clogproxy.client.connection.ClientStream - start to reconnect...                  
2021-11-20 12:00:16.438 [Thread-5] WARN  com.oceanbase.clogproxy.client.connection.ClientStream - reconnect SUCC 

启动canal-adapter 

修改配置文件vim conf/application.yml

server:port: 8081
spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8default-property-inclusion: non_nullcanal.conf:mode: tcp #tcp kafka rocketMQ rabbitMQflatMessage: truezookeeperHosts:syncBatchSize: 1000retries: 0timeout:accessKey:secretKey:consumerProperties:# canal tcp consumercanal.tcp.server.host: 172.18.128.73:11111canal.tcp.zookeeper.hosts:canal.tcp.batch.size: 500canal.tcp.username:canal.tcp.password:canalAdapters:- instance: example # canal instance Name or mq topic namegroups:- groupId: g1outerAdapters:- name: logger- name: rdbkey: mysql1properties:jdbc.driverClassName: com.mysql.jdbc.Driverjdbc.url: jdbc:mysql://xxx.xxx.xxx.xxx:xxxx/test_cdc?useUnicode=truejdbc.username: test_cdcjdbc.password: 7jJBHdfjl

配置为整库同步vim conf/rdb/mytest_user.yml

dataSourceKey: defaultDS
destination: example
groupId: g1
outerAdapterKey: mysql1
concurrent: true
dbMapping:mirrorDb: truedatabase: test_cdc

启动bin/startup.sh

验证

在ob插入数据

MySQL [test_cdc]> insert into students values(5,'d');                                                          
Query OK, 1 row affected (0.007 sec)                                                                           MySQL [test_cdc]> begin;                                                                                       
Query OK, 0 rows affected (0.001 sec)                                                                          MySQL [test_cdc]> insert into students values(6,'d');                                                          
Query OK, 1 row affected (0.001 sec)                                                                           MySQL [test_cdc]> insert into students values(7,'d');                                                          
Query OK, 1 row affected (0.001 sec)                                                                           MySQL [test_cdc]> commit;                                                                                      
Query OK, 0 rows affected (0.002 sec)

查看canal-adapter日志

2021-11-20 12:09:42.507 [pool-7-thread-1] INFO  c.a.o.canal.client.adapter.logger.LoggerAdapterExample - DML: {"data":[{"id":5,"NAME":"d"
}],"database":"test_cdc","destination":"example","es":1637381381,"groupId":"g1","isDdl":false,"old":null,"pkNames":["id"],"sql":"","table
":"students","ts":1637381382419,"type":"INSERT"}                                                                                         
2021-11-20 12:10:09.636 [pool-7-thread-1] INFO  c.a.o.canal.client.adapter.logger.LoggerAdapterExample - DML: {"data":[{"id":6,"NAME":"d"
}],"database":"test_cdc","destination":"example","es":1637381408,"groupId":"g1","isDdl":false,"old":null,"pkNames":["id"],"sql":"","table
":"students","ts":1637381409636,"type":"INSERT"}                                                                                         
2021-11-20 12:10:09.637 [pool-7-thread-1] INFO  c.a.o.canal.client.adapter.logger.LoggerAdapterExample - DML: {"data":[{"id":7,"NAME":"d"
}],"database":"test_cdc","destination":"example","es":1637381408,"groupId":"g1","isDdl":false,"old":null,"pkNames":["id"],"sql":"","table
":"students","ts":1637381409636,"type":"INSERT"} 

 查询mysql,数据已经同步过来

遗留问题

在oceanbase上执行ddl变更表结构(如添加字段),canal-adapter会报错,看日志是没有正确解析出表名,后面再看看有没有解决方案

参考文档

oceanbase安装:OceanBase 社区版

oblogproxy:GitHub - oceanbase/oblogproxy: A proxy service of incremental log of OceanBase

canal-ob:GitHub - oceanbase/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件

datax:GitHub - alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。

           OceanBase 社区版

oms:OceanBase 企业级分布式关系数据库


http://chatgpt.dhexx.cn/article/pFRrpsJH.shtml

相关文章

如何实现数据实时同步

官网下载:https://www.syncnavigator.cn 自动同步数据库数据 使用 HKROnline SyncNavigator 自动同步数据库数据。与Windows计划任务操作非常类似,您只需要设置同步任务执行的时间系统便能在指定的时间自动运行。 1. 在 "同步管理" 面板中选择…

数据的实时同步

数据的实时同步 在生产环境,有时会需要两台主机的特定目录实现实时同步。比如,将NFS共享目录的数据文件,自动实时同步到备份的服务器特定目录中。 数据的实时同步有两种方式: 1. 实时同步的技术 1.1 实现方法: i…

Sql Server 2008 数据库实时同步

为了数据安全,我们都希望数据能得到及时备份,Sql Server 2008有自带的完全备份和差异备份,但仍免不了恢复时丢失一些未来得及备份的数据。这里讲数据库复制功能,可以做到实时备份。 机器A:发布数据库 机器B&#xff…

跨系统实时同步数据解决方案

数据量太大,单存储节点存不下,就只能把数据分片存储。 数据分片后,对数据的查询就没那么自由。如订单表按用户ID作为Sharding Key,就只能按用户维度查询。我是商家,我想查我店铺的订单,做不到。&#xff0…

MySQL 实时同步 解决方案

目录 1 需求概述 2 技术原理 3 MySQL环境配置 3.1 创建用户 3.2 启用BinLog 4 BeeDI同步操作 4.1 配置全量同步任务 4.2 配置实时日志解析任务 4.3 执行全量同步任务 4.4 执行实时日志解析任务 4.5 添加更多同步表 5 效验同步数据一致性 1 需求概述 将MySQL5.6生产库多张表的数…

数据库实时同步利器——CDC(变化数据捕获技术)

在进行数据ETL过程中,我们经常需要通过周期性的定时调度将业务数据按照T1的方式同步到数据仓库中,进行数据分析处理,最终通过BI报表展示给最终用户。但这种方式实时性较差,用户往往只能看到昨天的数据,会影响用户决策的…

Mysql数据实时同步实践

关于小米内部使用的数据库你知道多少?(文末有福利) 往期文章回顾:Flink流式计算在节省资源方面的简单分析 背景 MySQL由于自身简单、高效、可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万…

SQLServer数据库同步准实时方案

1. 需求 1)如何将在线运营的SQLServer数据库数据及时同步到另外一个SQLServer数据库。 2)数据仓库系统的数据抽取会对源系统造成巨大压力,严重影响性能和响应速度。如何将生产数据快速抽取到历史数据仓库,改善业务系统的性能。…

Oracle RAC+ASM 数据库实时同步

采用Beedup实现数据库实时同步,主库环境Oracle RACASM,内存64G,历史数据19T,日增归档100G,从库单实例环境,内存192G。 以下是项目实施过程遇到的主要问题: 1 历史数据同步 启用Beedup批量复制功…

如何对MySQL数据库中的数据进行实时同步

下载网站:www.SyncNavigator.CN 客服QQ1793040 ---------------------------------------------------------- 关于HKROnline SyncNavigator 注册机价格的问题 HKROnline SyncNavigator 8.4.1 企业版数据同步软件 自2009年第一个版本开发出来以来,经过8年不断地根据客户需求…

SQL server数据实时同步到mysql

本文在https://blog.csdn.net/zhaowenzhong/article/details/50599372的基础上做了测试,改动了个别有误及没有注释的地方 在同步的前提下,环境一定要搭好,测试的时候应为mysql安装的一些bug导致失败了很多次,又重装过 ---安装安…

SqlServer数据实时同步到mysql

SqlServer数据实时同步到mysql 一、首先要装一个ODBC的驱动用来建立mysql的连接。http://www.mysql.com/products/connector/ 注意:一定要用32位的可用cmd执行这个命令: c:\windows\syswow64\odbcad32.exe配置【用户DSN】和【系统DSN】 二、打开sql…

SqlServer实时数据同步到MySql

---安装安装mysqlconnector http://www.mysql.com/products/connector/ /* 配置mysqlconnector ODBC数据管理器->系统DSN->添加->mysql ODBC 5.3 ANSI driver->填入data source name如jt,mysql的ip、用户名、密码即可 */ --新建链接服务器 exec sp_addlinkedserver…

数据库实时同步技术解决方案

下载网站:www.SyncNavigator.CN 客服QQ1793040 ---------------------------------------------------------- 关于HKROnline SyncNavigator 注册机价格的问题 HKROnline SyncNavigator 8.4.1 企业版数据同步软件 自2009年第一个版本开发出来以来,经过8年不断地根…

不同SQL Server数据库之间表数据的实时同步-发布与订阅

最近要将不同服务器上数据库的表数据同步汇总,所以就涉及到了数据同步的问题,以前没有接触过,在网上找了找方法, 大抵的方法有三种: 1,在数据库中编写触发器 2,写一个同步程序去完成同步 3&…

“实时数据同步:构建高效的 MySQL 数据同步方案“

方案一 基于LVM快照进行备份切换 介绍: MySQL数据库本身并不支持快照功能(sqlServer支持) 因此快照备份是指通过文件系统支持的快照功能对数据库进行备份 备份的前提是将所有数据库文件放在同一文件分区中,然后对该分区进行快照操作 LVM是LINUX系统下对磁盘分区进…

多源异构数据库实时同步解决方案

1 需求概述 将企业多个业务系统产生的交易数据流实时同步到数据仓库或大数据平台,通过对交易数据的联机实时分析,快速制定或调整商业计划,提升企业的核心竞争力。 需求关键点:同步过程不可影响或中断业务系统正常运行、同步延时…

hadoop大数据平台搭建

大数据平台搭建 大数据平台搭建虚拟机环境准备修改ip,映射IP地址ssh无密码通信同步时间关闭防火墙安装jdk hadoop平台正式搭建安装hadoop安装 kafka安装spark 大数据平台搭建 zookeeperkafkaspark Hadoop yarn 虚拟机环境准备 我们在搭建大数据分布式系统之前需要对软件和虚…

CDH大数据平台搭建之VMware及虚拟机安装

CDH大数据平台搭建-VMware及虚拟机安装 前言一、下载所需框架二、安装(略)三、安装虚拟机1、新建虚拟机(按照操作即可) 总结 前言 搭建大数据平台需要服务器,这里通过VMware CentOS镜像进行模拟,供新手学习必备。 一、下载所需框架 VMware 和CentOS可以…

CDH大数据平台搭建之虚拟环境配置

CDH大数据平台搭建之虚拟环境配置 前言一、虚拟机网络配置1.配置ip地址2.验证配置是否成功 二、关闭防火墙1.防火墙命令2.禁用防火墙 三、虚拟机主机名配置1.临时配置主机名2.永久配置主机名 四、配置域名解析五、新建大数据用户1.新建用户2.配置普通用户sudo权限3.验证 六、SS…