【小项目】SQL server数据实时同步到mysql(一)

区块链
• 阅读 4617

解决方案

1. 利用Navicat 15 for MySQL从SQL Server同步到mysql

步骤1:打开Navicat 15 for MySQL,最好在MySQL中新建一个和要导SQL server数据库一样名字的数据库,当然不一样也可以。

步骤2:择数据库,点击导入向导
【小项目】SQL server数据实时同步到mysql(一)

步骤3:选择ODBC,然后点下一步
【小项目】SQL server数据实时同步到mysql(一)

步骤4:选择数据源,点开导入项
【小项目】SQL server数据实时同步到mysql(一)

步骤5:选择SQL server,点下一步
【小项目】SQL server数据实时同步到mysql(一)
如果报错
【小项目】SQL server数据实时同步到mysql(一)
点击三个小点
【小项目】SQL server数据实时同步到mysql(一)

步骤6填入连接所需要的信息,其中第一个填的是你SQL server所在的IP地址(同一局域网内)。填完信息后测试连接,成功后点击确定。
PS:如果出现连接失败或者拒绝连接的情况,一定要记得关掉两边的防火墙!!
填入配置信息,注意,一定要勾选允许保存密码,没勾点确定后会出现下面错误
【小项目】SQL server数据实时同步到mysql(一)

步骤7 选择要导入的表,点击下一步
【小项目】SQL server数据实时同步到mysql(一)

步骤8 一般来说没有啥要修改的话就一直下一步
【小项目】SQL server数据实时同步到mysql(一)
【小项目】SQL server数据实时同步到mysql(一)
【小项目】SQL server数据实时同步到mysql(一)
步骤9 点击开始导入数据
【小项目】SQL server数据实时同步到mysql(一)
步骤10 保存
【小项目】SQL server数据实时同步到mysql(一)
步骤11 检查
【小项目】SQL server数据实时同步到mysql(一)

2.利用xorm-reverse工具生成数据库表结构

xorm-reverse安装
按照上述步骤,生成models文件夹,也便知道了数据库有哪些表与字段

3.构建用于存储每个表的最新ID数据库

进入mysql,创建表记录表record
table_name是要记录的表的名称,last_idsql server取到数据的最后一个id

$ mysql -h 10.0.0.0 -P 3306 -u wzz -p 

CREATE TABLE IF NOT EXISTS `record`(
      `id` INT UNSIGNED AUTO_INCREMENT,
      `table_name` VARCHAR(100) NOT NULL,
      `last_id` bigint(20) NOT NULL,
      `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
       PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `record` (`table_name`, `last_id`, `created_at`, `updated_at`) VALUES ('users', '0',  '2021-05-25 17:29:34', '2020-05-25 17:29:34');

【小项目】SQL server数据实时同步到mysql(一)

4.监测数据库变化

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
tidb入门
由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB是一个分布式NewSQL(SQL、NoSQL和NewSQL的优缺点比较)数据库。它支持水平弹性扩展、ACID事务、标准SQL、MySQL
Wesley13 Wesley13
3年前
MySQL如何实时同步数据到ES?试试这款阿里开源的神器
摘要mall项目中的商品搜索功能,一直都没有做实时数据同步。最近发现阿里巴巴开源的canal可以把MySQL中的数据实时同步到Elasticsearch中,能很好地解决数据同步问题。今天我们来讲讲canal的使用,希望对大家有所帮助!canal简介canal主要用途是对MySQL数据库增量日志进行解析,提供增量数据的订阅和消
Easter79 Easter79
3年前
SQLServer迁移至MySQL
SQLServer迁移至MySQLSQLServer迁移至MySQL应该有很多种迁移方案,我用的方案是使用工具:NavicatPremium。假设我们现在要把192.168.3.126(SQLServer数据库)上的P2PSite数据库迁移至192.168.3.106(MySQL数据库)步骤如下在192.168.3.106(MySQL)
Stella981 Stella981
3年前
SQL Server 迁移数据到MySQL
SQLServer迁移数据到MySQL一、背景由于要在sqlserver中导出一些报表还要对一些表进行一些特殊处理,好久没用功sqlserver了,想着导入到mysql中更好操作些,所以需要把SQLServer的数据转移到MySQL;由于涉及的表比较多,所以想在MySQL中生成对应表并导入数据;上网找了些资料,如:将AC
Stella981 Stella981
3年前
SQLServer迁移至MySQL
SQLServer迁移至MySQLSQLServer迁移至MySQL应该有很多种迁移方案,我用的方案是使用工具:NavicatPremium。假设我们现在要把192.168.3.126(SQLServer数据库)上的P2PSite数据库迁移至192.168.3.106(MySQL数据库)步骤如下在192.168.3.106(MySQL)
Easter79 Easter79
3年前
SQL Server 迁移数据到MySQL
SQLServer迁移数据到MySQL一、背景由于要在sqlserver中导出一些报表还要对一些表进行一些特殊处理,好久没用功sqlserver了,想着导入到mysql中更好操作些,所以需要把SQLServer的数据转移到MySQL;由于涉及的表比较多,所以想在MySQL中生成对应表并导入数据;上网找了些资料,如:将AC
Wesley13 Wesley13
3年前
MYSQL基础知识小盲区
MYSQL必会的知识新学的MySQL小技能:show PROCESSLIST; 查看当前数据库的进程(也就是正在进行的sql操作)!(https://oscimg.oschina.net/oscnet/c7908995a15dcf322850eb4ba0416cc34b1.png)kil
Wesley13 Wesley13
3年前
mysql导入导出
导出1.将数据库mydb导出到e:\\mysql\\mydb.sql文件中:打开开始运行输入cmd进入命令行模式c:\\mysqldumphlocalhosturootpmydbe:\\mysql\\mydb.sql然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。2.将数据库my
Wesley13 Wesley13
3年前
thinkphp 基本配置
12returnarray(34//定义数据库连接信息5'DB\_TYPE''mysql',//指定数据库是mysql67'DB\_HOST''localhost',89'DB\_NAME''uchome',//数据库名1011'DB\_USER''root
Wesley13 Wesley13
3年前
MYSQL数据库之主从复制及读写分离
MYSQL数据库之主从复制及读写分离一、MySQL的主从复制1、概述  MySQLReplication俗称MySQLAB复制或主从复制,是MySQL官方推荐的数据同步技术。数据同步基本过程:从库会实时去读取主库的二进制日志文件,按照日志中记录对从座进行同样的操作,以达到数据同步效果。2、MySQLReplication优点
Wesley13 Wesley13
3年前
mysql 、sqlserver数据库,实时同步,增量同步(脚本模式)
下载网站:www.SyncNavigator.CN(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.syncnavigator.cn%2F) 客服QQ1793040\