精华内容
下载资源
问答
  • 2021-05-02 01:04:41

    同步A数据库表test_user到B数据库

    1.创建A/B数据库用户

    A数据库

    IP:192.168.1.20

    test/123456

    B数据库

    IP:192.168.1.21

    test/123456

    1.1.创建用户(SYSTEM用户)

    创建用户

    CREATE USER TEST IDENTIFIED BY 123456;

    修改用户密码

    ALTER USER TEST IDENTIFIED BY 123456

    1.2.授予角色权限

    -- ROLES

    GRANT "CONNECT" TO "TEST" ;

    1.3.授予系统权限

    授予权限

    -- SYSTEM PRIVILEGES

    GRANT CREATE ANY PROCEDURE TO "TEST" ;

    GRANT CREATE ANY SEQUENCE TO "TEST" ;

    GRANT CREATE ANY TRIGGER TO "TEST" ;

    GRANT CREATE ANY TABLE TO "TEST" ;

    GRANT UNLIMITED TABLESPACE TO "TEST" ;

    GRANT CREATE DATABASE LINK TO "TEST" ;

    移除权限

    REVOKE SELECT ANY PROCEDURE FROM "TEST";

    2.创建建A/B数据库测试表test_user(TEST用户)

    创建表

    CREATE TABLE TEST_USER(

    ID number(15) NOT NULL PRIMARY KEY,

    USER_NAME VARCHAR2(255) default '' NOT NULL,

    USER_PASS VARCHAR2(255) default '' NOT NULL,

    CREATE_TIME DATE NOT NULL

    );

    comment on column TEST_USER.ID is '主键';

    comment on column TEST_USER.USER_NAME is '用户名';

    comment on column TEST_USER.USER_PASS is '密码';

    comment on column TEST_USER.CREATE_TIME is '创建时间';

    3.创建DBLINK(A数据库)

    创建DBLINK

    create database link DBLINK_TEST connect to TEST identified by "123456" using '192.168.1.21:1521/XE';

    删除DBLINK

    drop database link DBLINK_TEST;

    测试DBLINK是否成功

    select * from [email protected]_TEST;

    4.创建触发器(A数据库)

    create or replace TRIGGER TRIGGER_SYN_TEST

    AFTER INSERT OR UPDATE OR DELETE ON TEST_USER

    for each row

    BEGIN

    IF INSERTING THEN

    --INSERT触发

    insert into [email protected]_TEST values(:new.ID,:new.USER_NAME,:new.USER_PASS,:new.CREATE_TIME);

    ELSIF UPDATING THEN

    --UPDATE触发

    UPDATE [email protected]_TEST SET USER_NAME = :new.USER_NAME , USER_PASS = :new.USER_PASS WHERE ID = :new.ID;

    ELSIF DELETING THEN

    --DELETE触发

    DELETE FROM [email protected]_TEST WHERE ID = :old.ID;

    END IF;

    END;

    5.INSERT测试(A数据库)

    insert into TEST_USER values(1,'test','123456',sysdate);

    insert into TEST_USER values(2,'test','123456',sysdate);

    commit;

    select * from [email protected]_TEST;

    或者登录查看B数据库看是否数据插入

    6.UPDATE测试(A数据库)

    UPDATE TEST_USER SET USER_NAME = 'UPDATE_TEST' , USER_PASS = 'UPDATE_TEST' WHERE ID = 1;

    commit;

    select * from [email protected]_TEST;

    7.DELETE测试(A数据库)

    DELETE FROM TEST_USER WHERE ID = 1;

    commit;

    [email protected]_TEST;

    原文:https://www.cnblogs.com/code-red-memory/p/10583194.html

    更多相关内容
  • 原标题:MySQL数据库实现双向自动同步【IT168 技术】本文将探讨如何通过MySQL数据库的高级特性,实现数据库的双向自动同步,确保数据的冗余与完整性。通过以往真实的项目实战与经验,把操作实施过程全部记录下来,...

    原标题:MySQL数据库实现双向自动同步

    【IT168 技术】本文将探讨如何通过MySQL数据库的高级特性,实现数据库的双向自动同步,确保数据的冗余与完整性。通过以往真实的项目实战与经验,把操作实施过程全部记录下来,主要有以下几个主要内容。

    1、简介

    2、MySQL的环境准备

    3、MySQL的配置

    4、MySQL的测试

    一、简介

    1、背景介绍

    最近接到一个项目,由于项目本身所用软件均为开源,所以在数据库选择上也采用了业界通用的开源数据库软件MySQL作为其后台数据存储仓库。为了确保数据的安全性和及时性,我们需要配置如何实现两台MySQL数据库内容的双向自动同步与监控,来保障数据库的数据冗余和数据安全。

    2、MySQL介绍

    MySQL数据库是业界著名的开源关系型数据库之一,也是一种关联数据库管理系统。关联数据库将数据保存在不同的表中,而不是将所有的数据放在一个大仓库中,这样就增加了速度提高了灵活性,搭配PHP和Apache可以组成良好的开发环境。

    3、基本概念

    为了更好的理解和配置MySQL,需要提前了解以下概念,由于我们在项目中使用的功能有限,所以仅介绍一些基本概念。

    3.1 视图

    视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询(即:包含一 个SQL查询),仅仅是用来查看存储在别处的数据的一种设施。视图可以嵌套,但不能索引,也不能有关 联的触发器或默认值。并非所有视图都是可更新的,如果MySQL不能正确确定被更新的基数据,则不允 许更新(包括插入和删除)。视图不能更新的情况:(1)分组,使用GROUP BY和HAVING;(2)联接; (3)子查询;(4)并;(5)聚集函数,Min/Count/Sum等;(6)DISTINCT;(7)导出列。

    3.2 存储过程

    存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合(实际上是一种函数),可将其视为批处理文件,虽然它们的作用不仅限于批处理。使用存储过程有3个主要的好处:简单、安全、高性能。比如启动的服务,相关的设定等。

    3.3 触发器

    触发器是MySQL响应DELETE/INSERT/UPDATE语句而自动执行的一条MySQL语句(或位于BEGIN/END间的一组语句)。只有表才支持触发器,视图不支持,临时表也不支持。触发器按每个表每个事件每次地定义,每个表每个事件每次只允许一个触发器,所以每个表最多支持6个触发器(每条INSERT、UPDATE和DELETE的之前和之后)。单一触发器不能与多个事件或多个表关联。

    4、MySQL的结构图

    为了更好的了解和配置MySQL,就必须先了解一下MySQL的体系结构。如下图所示:

    16378f3815b01a8db7a2de3ee87ed3f9.png

    ▲MySQL体系架构图

    理解MySQL的体系架构对于成功的配置和调试至关重要。以下将对架构图进行简要的说明:

    ① Connectors指的是不同语言中与SQL的交互接口,例如适用于Java的JDBC,.Netframework的ODBC。

    ② Management Serveices & Utilities:系统管理和控制工具集合,例如备份还原,安全复制等功能。

    ③ Connection Pool:连接池,用于管理缓冲用户连接,线程处理等需要缓存的需求。

    ④ SQL Interface:SQL接口,用于接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface。

    ⑤ Parser:解析器,用于SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的,是一个很长的脚本。

    ⑥ Optimizer:查询优化器,用于SQL语句在查询之前会使用查询优化器对查询进行优化。他使用的是“选取-投影-联接”策略进行查询。

    ⑦ Cache和Buffer:查询缓存,如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等。

    ⑧ Engine:存储引擎,存储引擎是MySql中具体的与文件打交道的子系统。也是Mysql最具有特色的一个地方。Mysql的存储引擎是插件式的。它根据MySql提供的文件访问层的一个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎)。现在有很多种存储引擎,各个存储引擎的优势各不一样,最常用的MyISAM,InnoDB,BDB。

    二、MySQL环境准备

    为了便于看到效果,此文中我们将提前安装两个带有MySQL软件的Redhat6.5操作系统作为AB两个数据库服务器。操作系统和MySQL的安装并非此文章的介绍重点,详细安装步骤可以参照此链接(http://www.mysql.com/downloads/)。

    以下架构,简单描述了两台MySQL服务器自动同步数据的过程。

    1、硬件列表

    ▲Master数据库服务器

    ▲ Slave数据库服务器

    2、逻辑部署架构图

    d5122e5f2a6075bca201c0f2a1a327ea.png

    ▲MySQL同步逻辑架构图

    三、MySQL 的数据库同步配置

    1、配置Develop数据库同步

    配置的前提是,我们已经顺利的将MySQL组件安装到了两个不同的系统中,并分别创建了developDB和testingDB同时建议将selinux功能关闭,开放所有的防火墙。通过ssh指令,可以远程登录到安装好的Linux服务器,可以通过如下指令,检查MySQL是否安装及其版本。

    ▲软件及版本检查

    1、首先开始对开发数据库设置开发数据库同步,通过Linux自带的VI工具打开MySQL的配置文件。

    my.cnf,路径为/etc/my.cnf。添加以下内容:

    server-id=1 (mysql标示)

    log-bin=mysql-bin(开启log-bin二进制日志文件,默认存在/var/lib/mysql下日志文 件以mysql-bin为开头)

    binlog-do-db =developDB(developDB为需要同步的数据库名,如需同步多个数据库,可以另起行如binlog-do-db =testing)

    # binlog-ignore-db=db_name (不进行同步日志的数据库,不需要的话注释掉)

    max-binlog-size=104857600(日志的大小,超出会自动生成一个新的)

    master-host=192.168.2.4(同步主机)

    master-user=develop(同步用户)

    master-password=*****(同步用户密码)

    master-port=3306

    replicate-do-db=developDB(同步数据库)

    修改完后保存退出,并重启mysql 如:service mysql restart (重启正常,表示配置没错误)

    2、在作为开发数据库的mysql上建立一个账户专门用于测试数据库来进行数据同步。

    ▲授权访问

    在测试数据库上测试账户develop是否可以访问开发数据库上的mysql。

    mysql -u develop -p -h 192.168.2.4(输入密码***,可以访问说明设置正确)

    2、配置Testing数据库同步

    通过ssh指令,可以远程登录到安装好的另一台Linux服务器,可以通过如下指令,检查MySQL是否安装及其版本。

    ▲软件及版本检查

    1、首先开始对测试数据库设置数据库同步,通过Linux自带的VI工具打开MySQL的配置文件

    my.cnf,路径为/etc/my.cnf。添加如下内容:

    server-id= 2 (mysql标示,不能出现重复)

    log-bin=mysql-bin(开启log-bin二进制日志文件,默认存在/var/lib/mysql下日志文件以mysql-bin为开头)

    binlog-do-db = developDB(developDB为需要同步的数据库名,如需同步多个数据库,可以另起行如binlog-do-db=testing)

    max-binlog-size=104857600(日志的大小,超出会自动生成一个新的

    master-host=192.168.2.3 (同步Master的ip地址)

    master-user=develop(同步所需的账号)

    master-password=***** (同步账号的密码)

    master-port=3306 (mstart 中mysql的访问端口)

    replicate-do-db=developDB (所需同步的数据库名)

    master-connect-retry=60 (主服务器宕机或连接丢失的情况下,从服务器线程重新尝试连接主服务器之前睡眠的秒数。

    log-bin=mysql-bin (开启log-bin二进制日志文件)

    修改完后保存退出,并重启mysql,service mysql restart (重启正常,表示配置没错误)

    2、在作为测试数据库的mysql上建立一个账户专门用于开发数据库来进行数据同步。

    ▲授权访问

    在开发数据库上测试账户develop是否可以访问测试数据库上的mysql。

    mysql -u develop -p -h 192.168.2.3(输入密码***,可以访问说明设置正确)

    3、验证数据库同步

    完成双方数据库同步的配置后,我们需要在不同的主机进行配置验证。首先通过ssh登录开发数据库mysql> 输入show master status;,显示如下信息:

    +------------------+----------+--------------+------------------+

    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

    +------------------+----------+--------------+------------------+

    | mysql-bin.000005 | 189 | developDB | |

    +------------------+----------+--------------+------------------+

    1 row in set (0.00 sec)

    mysql>输入 show slave status\G

    *************************** 1. row ***************************

    Slave_IO_State: Waiting for master to send event

    Master_Host: 192.168.2.3

    Master_User: develop

    Master_Port: 3306

    Connect_Retry: 60

    Master_Log_File: mysql-bin.000005

    Read_Master_Log_Pos: 207

    Relay_Log_File: mysqld-relay-bin.000002

    Relay_Log_Pos: 344

    Relay_Master_Log_File: mysql-bin.000005

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    Replicate_Do_DB: developDB

    Replicate_Ignore_DB:

    Replicate_Do_Table:

    Replicate_Ignore_Table:

    Replicate_Wild_Do_Table:

    Replicate_Wild_Ignore_Table:

    Last_Errno: 0

    Last_Error:

    Skip_Counter: 0

    Exec_Master_Log_Pos: 207

    Relay_Log_Space: 344

    Until_Condition: None

    Until_Log_File:

    Until_Log_Pos: 0

    Master_SSL_Allowed: No

    Master_SSL_CA_File:

    Master_SSL_CA_Path:

    Master_SSL_Cert:

    Master_SSL_Cipher:

    Master_SSL_Key:

    Seconds_Behind_Master: 0

    1 row in set (0.00 sec)

    通过sssh 登录测试数据库输入以下命令:

    mysql> show master status;

    +------------------+----------+--------------+------------------+

    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

    +------------------+----------+--------------+------------------+

    | mysql-bin.000005 | 207 | developDB | |

    +------------------+----------+--------------+------------------+

    1 row in set (0.00 sec)

    mysql> show slave status\G

    *************************** 1. row ***************************

    Slave_IO_State: Waiting for master to send event

    Master_Host: 192.168.2.4

    Master_User: develop

    Master_Port: 3306

    Connect_Retry: 60

    Master_Log_File: mysql-bin.000005

    Read_Master_Log_Pos: 189

    Relay_Log_File: mysqld-relay-bin.000002

    Relay_Log_Pos: 326

    Relay_Master_Log_File: mysql-bin.000005

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    Replicate_Do_DB: developDB

    Replicate_Ignore_DB:

    Replicate_Do_Table:

    Replicate_Ignore_Table:

    Replicate_Wild_Do_Table:

    Replicate_Wild_Ignore_Table:

    Last_Errno: 0

    Last_Error:

    Skip_Counter: 0

    Exec_Master_Log_Pos: 189

    Relay_Log_Space: 326

    Until_Condition: None

    Until_Log_File:

    Until_Log_Pos: 0

    Master_SSL_Allowed: No

    Master_SSL_CA_File:

    Master_SSL_CA_Path:

    Master_SSL_Cert:

    Master_SSL_Cipher:

    Master_SSL_Key:

    Seconds_Behind_Master: 0

    1 row in set (0.00 sec)

    如果两次的命令输入均显示如下内容,就证明我们的配置已经成功并生效。

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    四、测试

    通过前面的配置和验证,两台MySQL服务器已经建立了同步机制并可以正常运行了。下面将通过在双方数据库上添加新的表,来测试另外的服务器上是否可以及时同步过去。

    1、首先登录开发数据库,在数据库developDB中建立一张新表,名字为test。

    mysql>use developDB;

    mysql>create table test(id int);

    完成后,转到测试数据库服务器,通过如下命令查询,是否已经同步。

    mysql>use developDB;

    mysql>show tables;

    +------------------+

    | Tables_in_developDB |

    +------------------+

    | test |

    +------------------+

    1 row in set (0.00 sec)

    由此可以知道,新建表格test已经被同步到测试数据库中。

    2、登录测试数据库服务器,在数据库developDB中建立一张新表,名字为test2。

    mysql>use developDB;mysql>create table test2(id int);

    完成后,转到开发数据库服务器,通过如下命令查询,是否已经同步。

    mysql>use developDB;

    mysql>show tables;

    +------------------+

    | Tables_in_developDB |

    +------------------+

    | test2 |

    +------------------+

    1 row in set (0.00 sec)

    通过测试可以确认,数据库可以进行双向的自动同步,确保数据的冗余和高可用。

    五、总结

    本文主要介绍了MySQL同步的配置及验证,通过配置使其应用到实际的生产环境中。除此之外,也可以利用my.cnf配置文件,实现单向及多主的同步,甚至有选择性的同步。本文中暂时不讨论其他的同步方式,建议参考MySQL的官方文档。返回搜狐,查看更多

    责任编辑:

    展开全文
  • android账号管理在手机设置的其他账户中可以找到,打开后,发现这里有许多有趣的功能,比如微信的同步通讯录、天翼云账户的一键跳转修改账户密码等,接下来,我们来讲讲他的实现思路实验原理效果图几个重要类描述:...

    android账号管理在手机设置的其他账户中可以找到,打开后,发现这里有许多有趣的功能,比如微信的同步通讯录、天翼云账户的一键跳转修改账户密码等,接下来,我们来讲讲他的实现思路

    实验原理

    效果图

    75051a70af9c8d8ca8073d17d6b344ab.png

    几个重要类描述:

    afefd964241582ad559e21db90fbfedd.png

    重要方法、数据格式、服务端要求:

    7f8e2777b781ec3602a802591379cd7f.png

    可同步的功能

    一、可同步多个功能

    SyncAdapter继承自AbstractThreadedSyncAdapter,SyncAdapter同样需要一个服务(Service)和一个同步适配器(AbstractThreadedSyncAdapter)。SyncAdapter的Service 需要在AndroidManifest里面声明一个带有Intent:android.content.SyncAdapter的Service来达到向系统注册一个具有同步功能的账户适配器(sync-adapter)。 同时,类似widget的声明方式,在meta-data中要声明一个xml,在这个xml中描述适配器绑定的账户,所要同步的区域(Authority)(如com.android.contacts,com.android.calendar com.android.email)等信息,一个适配器只能同步一个Authority,若想使一个账户同步多个Authority,可以向系统注册多个绑定同一账户的sync-adapter它可以协助管理和自动发起数据传输,也可以协调不同应用的同步操作。

    二、可同步功能

    可以实现的功能有点多,email、calendar、contacts…所有跟服务端的同步服务

    实验步骤讲解

    Account验证

    1)首先是class Authenticator extends AbstractAccountAuthenticator ,如图,该类是账号验证类

    其中addAccount方法用来定义需要增加账号时的操作,如调用AuthenticatorActivity来进行账号的添加认证。

    可以使用冒号来定义对齐方式:

    05188ec6295bb672e1888bced1d2e34e.png

    (Authenticator.java)

    2)在AuthenticatorActivity.java中定义了handleLogin(),点击添加按钮后,handleLogin()将ui中的用户名和密码取得,试图通过网络取服务端认证。如图所示。

    97e9b0ac07696cd62771d8374bb5d7b1.png

    b544809daaae305b9442693f65616d5c.png

    (AuthenticatorActivity.java)

    3)NetworkUtilities.java中的public static boolean authenticate(String username,String password)方法展示了通过网络验证的具体流程。

    得到服务端结果后,在sendResult()中通过handle.post调用来实现onAuthenticationResult()在AuthenticationActivity中的运行。onAuthenticationResult()判断验证通过则结束AuthentcationActivity,否则报错并请求重新验证。如图所示。

    66374e33b45c2517ecf5de4aa733d7d6.png

    (NetworkUtilities.java)

    同步功能

    4)Account的验证完毕后,就生成了账号,可以开始使用同步功能了。同步的主要逻辑在public class SyncAdapter extends AbstractThreadedSyncAdapter中实现。

    (以同步通讯录为例)onPerformSync中的执行流程中,使用NetworkUtilities.syncContacts将本地通讯录更新至服务端,并获得服务端的修改。如图所示

    0bab5f017cabfaabbe4b71e371e105c9.png

    f330e4a52d0057711e2a9b6f5eb268fe.png

    (SyncAdapter)

    Account和SyncAdapter及其Service和xml定义之间的关系

    feb0f80584c19d0eb2f856acb6ee698a.png

    参考

    1)http://blog..net/inconsolabl/article/details/48054341

    2)http://www.oschina.net/question/54100_38786

    3)http://blog..net/robertcpp/article/details/51353296

    源码

    自行搜索SampleSyncAdapter,github一堆

    展开全文
  • 数据同步中间件DBSyncer

    千次阅读 2021-11-19 14:28:53
    数据同步中间件DBSyncer1. 数据同步概述2. DBSyncer介绍3. DBSyncer特点4. DBSyncer应用场景5. DBSyncer安装配置5.1 创建项目5.2 自定义插件5.3 配置页面6. DBSyncer实现验证6. DBSyncer存在问题 1. 数据同步概述 在...

    1. 数据同步概述

    在常见的业务开发场景中数据迁移,增量或者全量数据同步,在迁移或者同步过程中还会涉及到字段映射,默认值,还有可能存在不同数据库之间数据迁移,mysql,Oracle,SQLServer,ES,Kafka等等很多场景,虽然使用频率有限,但是场景很多,所以推荐几款数据同步开源组件DBSyncer,DataX,本文主要介绍DBSyncer使用及问题。

    DataX链接
    datax-web链接
    DBSyncer链接

    2. DBSyncer介绍

    DBSyncer是一款开源的数据同步中间件,提供Mysql、Oracle、SqlServer、Elasticsearch(ES)、SQL(Mysql/Oracle/SqlServer)等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。

    3. DBSyncer特点

    1.组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系。

    2.实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志。

    3.开发插件,自定义转化同步逻辑

    4. DBSyncer应用场景

    连接器数据源目标源支持版本(包含以下)
    Mysql✔️✔️5.7.19以上
    Oracle✔️✔️10g以上
    SqlServer✔️✔️2008以上
    ES✔️✔️6.X以上
    SQL✔️
    最近计划 kafka(设计中)、Redis

    5. DBSyncer安装配置

    5.1 创建项目

    配置步骤
    1.安装JDK 1.8(省略详细)
    2.下载安装包DBSyncer-1.0.0-Beta.zip(也可手动编译)
    3.解压安装包,Window执行bin/startup.bat,Linux执行bin/startup.sh
    4.打开浏览器访问:http://127.0.0.1:18686
    5.账号和密码:admin/admin

    其实没那么麻烦,直接通过idea从gitee上拉去代码,找到dbsyncer-web中Application启动完成,按照上述访问地址,用户名与密码访问。

    启动完成状态
    在这里插入图片描述

    5.2 自定义插件

    创建插件
    对应项目:dbsyncer-plugin
    创建路径:CrmCustomerConvertServiceImpl
    org.dbsyncer.plugin.service.CrmCustomerConvertServiceImpl

    package org.dbsyncer.plugin.service;
    
    import org.dbsyncer.common.spi.ConvertService;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    import java.util.List;
    import java.util.Map;
    
    /**
     * Demo class
     *
     * @author zrj
     * @date 2021/10/31
     */
    @Component
    public class CrmCustomerConvertServiceImpl implements ConvertService {
    
        private final Logger logger = LoggerFactory.getLogger(getClass());
    
        /**
         * 版本号
         */
        @Value(value = "${info.app.version}")
        private String version;
    
        @Override
        public void convert(List<Map> source, List<Map> target) {
            logger.info("CRM客户插件正在处理同步数据");
            logger.info("CRM客户插件正在处理同步数据,源头数据:{}", source);
            logger.info("CRM客户插件正在处理同步数据,目标数据:{}", target);
    
            target.forEach(map -> {
                map.put("update_id", "20211119001");
                map.put("create_id", "20211119002");
                map.put("create_name", "dbsyncer01");
                map.put("update_name", "dbsyncer02");
                //map.put("deleted", false);
            });
            logger.info("CRM客户插件正在处理同步数据,调整数据:{}", target);
        }
    
        @Override
        public void convert(String event, Map source, Map target) {
            logger.info("CRM客户插件正在处理同步数据,事件:{},数据:{}", event, source);
        }
    
        @Override
        public String getVersion() {
            return "1.1.0-Beta";
        }
    
        @Override
        public String getName() {
            return "CrmCustomer";
        }
    }
    
    

    配置插件
    驱动管理-配置驱动-高级配置-插件配置:选择插件
    在这里插入图片描述

    5.3 配置页面

    1.驱动管理
    驱动管理分两块
    添加连接:配置数据源,包括源数据库与目标数据库。
    添加驱动:配置的是数据迁移时的数据库信息,过滤映射信息,以及插件中自定义的迁移时逻辑处理。

    在这里插入图片描述在这里插入图片描述2.监控页面

    监控页面分三块
    应用性能:CPU,内存等机器应用参数。
    查询数据:执行sql的成功失败记录。
    查询日志:数据源配置操作日志。
    在这里插入图片描述3.定义插件
    插件有什么用?
    插件是一种可扩展全量同步和增量同步实现数据转换的技术方式。通过插件可以接收同步数据,自定义同步到目标源的行数据,也能消费数据并实现更多业务场景。

    在这里插入图片描述4.参数配置
    参数配置包括两块
    系统参数:刷新频率。
    修改密码:登录密码修改。
    在这里插入图片描述

    6. DBSyncer实现验证

    启动执行
    在这里插入图片描述完成状态
    在这里插入图片描述

    6. DBSyncer存在问题

    MySQL字段类型tinyint转换为null,这个需要手动处理。

    展开全文
  • 它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。数据传输致力于在公有云、混合云场景下,解决远距离、毫秒级异步数据传输难题。通过阿里云数据传输,并使用 dts-ads-writer 插件,可以将您在阿里...
  • 【Oracle】自动同步数据脚本

    千次阅读 2015-10-23 16:06:17
    Oracle自动同步数据脚本
  • 主备域控数据无法同步

    千次阅读 2021-08-02 02:24:14
    也就是说两台域控之间没有进行数据同步了。查看事件日志,提示数据复制失败等等。然后还发现备域控上的DNS的正向和反向搜索区域信息都是空的。原本打算把备域控降域,但是在降的过程中提示无法连接操作主机!怎么办...
  • 自己编写自动同步脚本

    千次阅读 2018-03-09 18:34:26
    执行的时候,将地址修改为slave ip--databases 指定为需要同步的db_nameuser 和password修改为对应的账号密码;/*#!/bin/bash#define sync functionsync(){ a=`pt-table-sync --execute --sync-to-master --lock 1 -...
  • mysql 集群 数据同步

    2021-01-18 21:50:12
    3、通过使用redis缓存来保存内存中数据,使用redis同步功能来同步不同服务器内存中的数据;4、在通过mysql的集群配置来实现数据库数据同步;这里我整理了几种数据同步方式;一:主从服务器同步;顾名思义:主服务器...
  • 如何取消OneDriver自动登陆并删除已经同步数据? ©Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者https://blog.51cto.com/lander 2018/12/13 7:20 问题描述 某用户有两台办公电脑,一...
  • 使用远程同步更新功能时,需要在每台电脑上安装一个客户端程序,这样远程同步程序通过客户端连接成功后,就可以进行文件同步了。Windows Live Sync需要使用Windows Live ID账户进行登录。登录成功后,我们看到系统...
  • 详细解答可以参考官方帮助文档数据迁移提供的增量迁移功能目前已经放开15天的限制,所以可以使用增量迁移功能实现本地自建数据库同RDS实例的数据实时同步。本小节介绍如何使用DTS快速搭建本地IDC自建数据库同RDS实例...
  • 原有已经进行了两个系统的数据自动同步开发,因此这次的开发属于一个补充的内容,仅在此提供一个应用的思路和开发过程的探讨。 前端发起人申请时填写hr系统中已经分配的工号,即可对应查询出其他相关数据。为了避免...
  • 因此,企业应该开始思考如何打通“烟囱林立”的业务系统,建立自动化的账号同步体系,实现系统之间的高效安全的连接,从而提升整体运维效率和安全性。 账户管理的痛点 具体来说,企业IT部门在维护复杂的业务系统...
  • 【MySQL高性能】Canal数据同步神器

    万次阅读 2022-05-15 21:23:31
    同步数据到ES、Redis缓存中。 数据同步。 业务需要监听数据。 图片来源阿里巴巴github仓库:https://github.com/alibaba/canal 配置MySQL 跟配置主从复制类似。 数据执行如下命令: -- 给canal单独创建用户 用户名...
  • 配置并启动AAD Connect之后,同步程序将会自动进行同步,根据测试结果,同步规则如下 同步规则 1、 同步类型 打开“Synchronization Service manager”在“Connector”列表中,点击“Configure Run Profiles”...
  • 这段时间负责一个老项目开发的数据库管理工作,这个项目中开发库与测试数据库分离,其中有些系统表数据与基础资料数据经常需要进行同步,相信很多DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,...
  • 日志数据如何同步到MaxCompute

    千次阅读 2019-11-22 16:10:28
    摘要:日常工作中,企业需要将...本次分享主要介绍日志数据如何同步到MaxCompute。具体讲解如何通过Tunnel,DataHub,日志服务SLS以及Kafka将日志数据投递到MaxCompute的参数介绍和详细同步过程等内容。 演讲嘉宾简...
  • 用习惯了 OneNote,若不同电脑系统的登录用户名均为 “JohnnySun”,那么登录Microsoft 账号后立刻就能自动同步。 这次两台电脑之间,一个台电脑的登录用户名是 “JohnnySun”,另一台是 “Administrator”。在...
  • 摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据、表多、数据量大等情况就难以同步。我自己亲测了一种方式,可以非常方便地完成 MySQL 数据实时同步到...
  • 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据、表多、数据量大等情况就难以同步。我自己亲测了一种方式,可以非常方便地完成 Oracle 数据实时同步到 SQL...
  • ✈️解决Chrome无法自动同步书签

    千次阅读 2021-10-14 20:53:22
    解决Chrome无法自动同步书签 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助...
  • | 作者史鹏宙,CSIG云与智慧产业事业群研发工程师ClickHouse作为OLAP分析引擎已经被广泛使用,数据的导入导出是用户面临的第一个问题。由于ClickHouse本身无法很好...
  • 工作中遇到这样的情况,需要在更新表TableA(位于服务器ServerA 172.16.8....在ServerA 中创建指向ServerB的链接服务器,并做好账号映射。addlinkedserver存储过程创建一个链接服务器,参数详情参见官方文档。第1个参数
  • 首先你要了解到,内容同步是因为你把你的数据上传备份到了iCloud上面,当你在新设备上登录苹果账号的时候,新设备会自动把iCloud上的数据下载下来。那么,如果不想同步传输的话,那么就只要关闭iCloud备份传输的选项...
  • 我有两台设备,两台设备的谷歌浏览器都登录了谷歌账号,但是两个浏览器的书签没有完全一致(个人怀疑这是由于谷歌账号自动同步浏览器的时间过长导致的,比如每一个月才会同步一次数据。即使你设置了同步账号信息的...
  • 周末无聊,来一篇服务之间数据同步的博客吧(主要讲注意的问题)。具体什么业务场景就不举例了。 ps:纯属个人瞎说,有错误、不足请大侠指出。嗯,开始说正事了。 业务流程 主要业务流程如下: #mermaid-svg-hBFG9z7...
  • 下面进行主库的配置 1.2.12 主从配置 1.2.12.1 创建同步账号 [postgres@localhost data]$ psql psql (11.6) Type "help" for help. postgres=# CREATE ROLE repl login replication encrypted password 'repl'; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,141
精华内容 20,456
关键字:

其他账号自动同步数据

友情链接: admin-templates.rar