解决方案

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

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

步骤2:择数据库,点击导入向导
image.png

步骤3:选择ODBC,然后点下一步
image.png

步骤4:选择数据源,点开导入项
image.png

步骤5:选择SQL server,点下一步
image.png
如果报错
image.png
点击三个小点
image.png

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

步骤7 选择要导入的表,点击下一步
image.png

步骤8 一般来说没有啥要修改的话就一直下一步
image.png
image.png
image.png
步骤9 点击开始导入数据
image.png
步骤10 保存
image.png
步骤11 检查
image.png

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');

image.png

4.监测数据库变化


一曲长歌一剑天涯
3 声望3 粉丝