MySQL 如何定时发送数据到 SQL Server? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
enginex
V2EX    MySQL

MySQL 如何定时发送数据到 SQL Server?

  •  
  •   enginex
    satorioh 2017-10-23 21:27:48 +08:00 5178 次点击
    这是一个创建于 2935 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟主要负责前端,对 sql 只会一些基础操作,目前公司有一台测试 db(MySQL,暂由我代管),一台中

    间 db(异地、SQL Server,由别人管理),需要定期将 MySQL 一个 table 的数据发送到 SQL Server 的特

    定 table 上(两个 table 字段有所不同)

    请教下一般如何操作?

    感谢!

    第 1 条附言    2017-10-24 22:04:20 +08:00
    感谢各位的热心帮助,最后还是用 kettle 解决了( ETL tool 真的很强大),sql 脚本方面,小弟抽空还会再努力学习,毕竟这才是正道
    19 条回复    2017-10-24 12:30:19 +08:00
    chenychen
        1
    chenychen  
       2017-10-23 21:33:34 +08:00
    dblink
    shiny
        2
    shiny  
       2017-10-23 21:38:36 +08:00
    既然是定期,时效性要求就不会高吧,可以写个脚本导数据,定时执行即可。
    enginex
        3
    enginex  
    OP
       2017-10-23 21:42:51 +08:00
    @shiny 是用 linux crontab 脚本吗?另外,两个 table 字段不同,也可以吗
    shiny
        4
    shiny  
       2017-10-23 21:45:27 +08:00
    @enginex 都可以,windows 下的计划任务,Linux 下的 crontab。只要脚本写对了,字段不同也没问题。需要注意的是出错能被监控到。
    enginex
        5
    enginex  
    OP
       2017-10-23 21:50:04 +08:00
    @shiny 好的,我试试
    dexterzzz
        6
    dexterzzz  
       2017-10-23 22:02:53 +08:00
    有 sql server 用 SSIS
    enginex
        7
    enginex  
    OP
       2017-10-23 22:12:20 +08:00
    @dexterzzz 是用 SSIS 可以抓取 MySQL 数据?字段不同也可以吗?
    DearMark
        8
    DearMark  
       2017-10-23 22:46:19 +08:00
    Topshelf 搭配 Quartz.Net 可以解决所有问题 On Windows
    https://dotblogs.com.tw/wasichris/2017/01/14/165637
    XiaoFaye
        9
    XiaoFaye  
       2017-10-24 07:40:46 +08:00
    变动不频繁的话,自己写 SQL Script,然后定时执行就好了。
    enginex
        10
    enginex  
    OP
       2017-10-24 09:41:08 +08:00
    @DearMark 似乎有些复杂,而且主机是 linux,不过依然感谢
    likuku
        11
    likuku  
       2017-10-24 10:06:57 +08:00
    会在程序语言里访问 DB 使用 SQL 么?会的话,那么写个程序同时操作两台 DB,使用 SQL 从 MYSQL 提取数据,按 SQLServer 的表结构重组数据,最后把拼好的数据插入 SQLServer 即可了吧。

    定时,用 win 的计划任务 / lin 的 crontab 都可以吧。
    nandaye
        12
    nandaye  
       2017-10-24 10:23:20 +08:00
    kettle/informatica etc,你现在需要一个 ETL 软件。
    sunkuku
        13
    sunkuku  
       2017-10-24 10:57:52 +08:00
    可以试试阿里开源的 canal
    enginex
        14
    enginex  
    OP
       2017-10-24 10:59:49 +08:00
    @likuku 只用过 php 操作 mysql,基础的增删改查,数据重组拼接这块儿不太熟悉
    enginex
        15
    enginex  
    OP
       2017-10-24 11:00:54 +08:00
    @nandaye @sunkuku 感谢,目前在尝试 SSMA,不行的话再换其他
    sryanyuan
        16
    sryanyuan  
       2017-10-24 11:06:48 +08:00
    伪装成从节点 从 mysql 解析 binlog 数据 然后组装成 sql 语句在 mssql 执行
    likuku
        17
    likuku  
       2017-10-24 11:54:19 +08:00
    @enginex 会增删改查就行了。

    所谓数据重组拼接:mysql 获取 a 库 b 表 100 行数据,b1 列 t1 数据类型,将其以 sqlserver 的 mt1 数据类型 插入 ma 库 mb 表 即可。

    这是最基本的思路了。若涉及到自增字段,那得查 sqlserver 相关如何处理。
    noNOno
        18
    noNOno  
       2017-10-24 11:55:59 +08:00
    kettle 写个脚本就好了
    你需要一个 ETL 工具
    enginex
        19
    enginex  
    OP
       2017-10-24 12:30:19 +08:00
    @likuku 好的,我试试,感谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5662 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 06:30 PVG 14:30 LAX 22:30 JFK 01:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86