compare two database data

因为工作上遇到 同一个项目被部署到不同服务器上,原项目(后统称"源")在运行中,后部署的项目(后统称"目标")也在运行中。需要源的mysql数据同步到目标的mysql上。

我的情况是数据库的表结构是一样的,是数据需要同步。

在 sqlyog 也可以通过ssh通道来连接mysql(和navicat for mysql用法一样).


下面是我在网上找的sqlyog软件并使用的,如果你懒得去再找,可以尝试下面的分享连接来下载使用

链接: https://pan.baidu.com/s/1nZh1-EFqnZSMYL_k1v3Twg 提取码: jcbu


前提: 两个有相同表结构的数据库的备份sql都导入到本地的mysql中

目标: 同步并生成对应的sql脚本,可以将这些sql脚本在 目标服务器的mysql中执行对比之后的sql脚本,达到同步数据的效果

我的操作步骤是: sqlyog的菜单栏 高级工具 -> 数据库S 同步向导

  1. 弹出 向导的窗口,默认是开始新工作,点击下一步按钮
  2. 选择源和目标的数据库,点击下一步按钮
  3. 进入数据同步高级选项,我选的是单向同步并勾选不要在目标删除额外的行,点击下一步按钮
  4. 进入选择想要同步的表,我选的是在数据库中同步所有表,点击下一步按钮
  5. 进入你要如何执行同步?页,因为我是在本地导入了2个数据库,需要将同步的sql导入到远程上,所以选择的是同步和生成脚本,然后在给文件名 选择存放sql的路径,点击下一步按钮
  6. 进入错误处理页,我是全不勾选,点击下一步按钮
  7. 进入在定期间隔发送查询结果,我选择的是立即运行,点击下一步按钮
  8. 进入到进行处理 同步操作了,等待执行完成,执行完成之后,下一步按钮是启用的了,点击下一步按钮之后,会进入向导成功完成页,点击完成按钮或者当前窗口的关闭按钮就会关闭窗口了。

然后打开第5步保存的sql文件,看里面是否是有 INSERT或者UPDATE 语句,如果有,将所有语句复制到远程的 phpmyadmin中的目标数据库中,执行对应的sql语句,就完成了数据同步操作了。

References

  1. Compare two MySQL databases [closed]

使用sqlyog工具同步两个相同结构的数据库之间的数据的更多相关文章

  1. SQLite与MySQL、SQLServer等异构数据库之间的数据同步

    SQLite DBSync是开源嵌入式数据库SQLite的数据同步引擎,实现了SQLite与SQLite数据库之间以及SQLite与异构数据库(Oracle.MySQL.SQLServer)之间的增量 ...

  2. ETL工具之Kettle的简单使用一(不同数据库之间的数据抽取-转换-加载)

    ETL工具之Kettle将一个数据库中的数据提取到另外一个数据库中: 1.打开ETL文件夹,双击Spoon.bat启动Kettle 2.资源库选择,诺无则选择取消 3.选择关闭 4.新建一个转换 5. ...

  3. (五)SQLMap工具检测SQL注入漏洞、获取数据库中的数据

    目录结构 一.判断被测url的参数是否存在注入点 二.获取数据库系统的所有数据库名称(暴库) 三.获取Web应用当前所连接的数据库 四.获取Web应用当前所操作的DBMS用户 五.列出数据库中的所有用 ...

  4. 不同服务器数据库之间的数据定时同步到sql server (支持mysql,oracle数据库同步到sql server)

    1,在目标数据库新增服务器对象->连接到服务器->新建服务器连接 2,编写数据同步业务PROC ALTER PROC TestProc AS BEGIN --打开完全事物回滚 SET XA ...

  5. 不同SQL数据库之间表数据的实时同步-发布与订阅

    https://blog.csdn.net/rand_muse/article/details/81326879 上述文章中,如果是实时同步,选择  事务发布即可 在快照代理 那里,不需要勾选  运行 ...

  6. C#实现两个数据库之间的数据上报

    用VS2008实现本地数据库上传数据到远程数据.数据能够是一个表,或一个表的部分数据.或查询数据.或数据编辑后上传. 其他VS版本号.复制当中代码就能够.未使用其他不论什么插件.有具体凝视. 单独页面 ...

  7. 关于跨DB增量(增、改)同步两张表的数据小技巧

    有些场景下,需要隔离不同的DB,彼此DB之间不能互相访问,但实际的业务场景又需要从A DB访问B DB的情形,这时怎么办?我认为有如下常规的三种方案: 1.双方提供RESET API,需要访问不同DB ...

  8. android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?

    通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...

  9. mysql对比表结构对比同步,sqlyog架构同步工具

    mysql对比表结构对比同步,sqlyog架构同步工具 对比后的结果示例: 执行后的结果示例: 点击:"另存为(S)" 按钮可以把更新sql导出来.

随机推荐

  1. django 内置server 外网不能访问, 报连接超时

    按照官网教程,以 python manage.py runserver 其访问url为 http://127.0.0.1:8000,意味着只能本机访问,而我的django app 部署在 阿里云上面 ...

  2. MyBatis笔记一:GettingStart

    MyBatis笔记一:GettingStart 1.MyBatis优点 我们的工具和各种框架的作用就是为了我们操作数据库简洁,对于一些数据库的工具能帮我们少写一些处理异常等等的代码,但是他们并不是自动 ...

  3. Android开发:图文分析 Handler通信机制 的工作原理

    前言 在Android开发的多线程应用场景中,Handler机制十分常用 下面,将图文详解 Handler机制 的工作原理 目录 1. 定义 一套 Android 消息传递机制 2. 作用 在多线程的 ...

  4. svndumpfilter - 过滤一个 Subversion 仓库的转储文件 `dumpfile'。

    SYNOPSIS 总览 svndumpfilter command [options & args] OVERVIEW 概述 Subversion 是一个版本控制系统,允许保存旧版本的文件和目 ...

  5. 通过list中值得名称查询索引号

    >>> a = ['www','iplaypython','com']>>> a.index('iplaypython')

  6. C#多线程的应用

    1.进程 就像我们任务管理器里面运行的进程 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括 ...

  7. HTTP、HTTPS等常用服务的默认端口号

    口号标识了一个主机上进行通信的不同的应用程序. 1.HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098 2.SOCKS代理协议服务器常用端口号:1080 3.FTP(文件传 ...

  8. Android——谷歌官方下拉刷新控件SwipeRefreshLayout(转)

    转自:http://blog.csdn.net/zouzhigang96/article/details/50476402 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言: 如今谷歌推出了 ...

  9. node js实战:带数据库,加密的注册登录表单

    demo 注册效果: 登陆效果:        数据库截图: 数据库操作 db.js //这个模块里面封装了所有对数据库的常用操作 var MongoClient = require('mongodb ...

  10. HttpClient异常处理手册

    HttpClient异常处理手册 开源中国 发表于 2014-08-26 19:44:06 异常处理 HttpClient的使用者在执行HTPP方法(GET,PUT,DELETE等),可能遇到会两种主 ...