登录
首页 >  数据库 >  MySQL

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

来源:SegmentFault

时间:2023-01-24 21:34:56 124浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《【小项目】SQL server数据实时同步到mysql(一)》,文章讲解的知识点主要包括MySQL,如果你对数据库方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

解决方案

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_id
sql 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.监测数据库变化

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>