【mysql】跨数据库同步数据

平时不怎么写存储过程,基本要用到的时候就到网上搜索,刚刚完成一个存储过程

大致作用是两个数据库,都有结构差不多的表,现在需要将一个库里该表同步到另一个库中,建了一个存储过程,并准备后面让这个存储过程自动2小时执行(这个用事件)

begin
declare b int;
declare id1, user_name1, name1, password1, salt1 VARCHAR(100);
DECLARE userType int;
declare count, grade1 int;
DECLARE count1 int;
declare cur_1 cursor for
select id, username, `name`, `password`, salt, user_type from sys_user where `status`=1 and (user_type=4 or user_type=5);
SET b = 0;
select count(1) INTO count from sys_user where `status`=1;
#select count;
OPEN cur_1;
loop_label: loop
FETCH cur_1 INTO id1, user_name1, name1, password1, salt1, userType;

select count(1) into count1 from test1.sys_user where username=user_name1;
#select count1;
if count1 = 0 THEN
if userType=4 THEN
insert into test1.sys_user(id, username, `name`, `password`, salt, create_date, user_type, relative_school_id, `status`, avatar)
VALUES (id1,user_name1, name1, password1, salt1, now(), 3, ‘0140bc57-de2b-44a8-8039-e475d180db8a‘, 1, ‘/filesystem/headImg/default.jpg‘);
end if;
if userType=5 THEN
select tci.grade into grade1 from t_student_info tsi left join t_class_info tci on tsi.class_id=tci.id where tsi.user_id=id1 and tsi.`status`=1;
insert into test1.sys_user(id, username, `name`, `password`, salt, create_date, user_type, relative_school_id, `status`, avatar)
VALUES (id1,user_name1, name1, password1, salt1, now(), 4, ‘0140bc57-de2b-44a8-8039-e475d180db8a‘, 1, ‘/filesystem/headImg/default.jpg‘);
insert into test1.klss_student(id, user_id, grade_num , pass_count, challenge_count, homework_count, total_integral, `level`, phone, badge_num, sex)
VALUES(UUID(), id1, grade1, 0, 0, 0, 0, 1, "", 0, 0);
end if;
end if;
#select user_name1;

set b=b+1;
if b = count then
leave loop_label;
end if;

end loop;
CLOSE cur_1;
end
---------------------
作者:Lionel_Medoo
来源:CSDN
原文:https://blog.csdn.net/juan0728juan/article/details/58587745
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/HKROnline-SyncNavigator/p/10971493.html

时间: 2024-10-11 00:24:55

【mysql】跨数据库同步数据的相关文章

MySQL主从数据库同步延迟问题解决(转)

最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来以便自己学习: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器. MySQL主从同步故障-Slave_SQL_Running: No http://www.linuxidc.com/Linux/2014-0

SqlServer2008 跨服务器同步数据

最近工作中需要跨服务器同步数据,在数据库DB1中的表T1插入数据,同时触发T1的触发器(这里暂不讨论触发器的效率问题),向另一台服务器DB2中的相同的一张表T2插入数据,查看了一些资料说, 需要打开DTC(分布式交易协调器)协调跨多个数据库.消息队列.文件系统等资源管理器的事务, 于是按照网上说的,将自己的DTC打开启动,步骤如下: DTC位置:控制面板--管理工具--服务--Distributed Transaction Coordinator 然后在本机SqlServer里新建一个触发器测试

FlowPortal-BPM——注意事项:跨数据库添加数据

跨数据库添加数据 public static void Insert(int TaskID) { SqlConnection conn = new SqlConnection("server=.;database=BPMDBDataTest;user=sa;pwd=123;"); SqlCommand cmd = conn.CreateCommand(); //数据库名.dbo.表名 //添加到数据库下某个表中 查询所有数据 从数据库下某个表或试图中 按条件查询 //特别注意:查询到的

php 跨数据库调取数据

我的这个是thinkphp,我就在 Application -> Common -> Conf -> config.php 文件里面配置数据库的地方,加入了下面这段代码 //'数据库类型 :// 数据库用户名 : 密码 @ 服务器地址 : 端口号 / 数据库名', 'DB_CONFIG2' => 'mysqli://aa:[email protected]:3306/ccc',//访问当前服务器下的另外一个数据库 调用请求数据 /* * 测试跨数据库查询数据 * */ public

mysql定时任务按天建表并跨库同步数据

创建定时任务完成:创建ASR识别记录表,每天自动从小云AI对话详情表同步数据.*/DROP PROCEDURE IF EXISTS `create_o_asr_record_call`;DELIMITER ;;CREATE PROCEDURE `create_o_asr_record_call`(IN `dayInt` bigint,out result int) COMMENT 'ASR识别结果表--按日--建表'BEGIN set @sql_tmp3 = CONCAT('create tab

利用percona-toolkit 工具来检测mysql 主从数据库同步以及实现同步

环境: OS: Cenos6.5_x64 , 主:192.168.100.164 ,从:192.168.100.176 软件: percona-toolkit . mysql56-community 同步的库: dj1 , cnhd , shanhu 备要信息:要尽量保证主从mysql的版本相同,因为5.6以上的版本支持了Gtid的特性,与低版本做从主时,会产生不可以预计的问题. 一.安装: Quick Install -------------    perl Makefile.PL    m

SQL Server 跨库同步数据

最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的.存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中.逻辑是如果不存在则插入,存在则更新字段. 1 create PROCEDURE [db

创建mysql主从数据库同步

1. 主从同步的定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器.通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表. 使用主从同步的好处: (1) 通过增加从服务器来提高数据库的性能,在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从

mysql准实时同步数据到Elasticsearch

4. 安装JDK8.MySQL5.6驱动以及Logstash -6.0.0 ECS中分别安装JDK8.MySQL5.6驱动以及Logstash -6.0.0.如下图: 安装Logstash input.output插件,此案例数据输入是MySQL,输出是ES,so相应的插件应该是logstash-input-jdbc和logstash-output-elasticsearch. 安装插件的命令分别是(在Logstash主目录下运行):https://blog.51cto.com/433266/b