使用sqlyog工具同步两个相同结构的数据库之间的数据
因为工作上遇到 同一个项目被部署到不同服务器上,原项目(后统称"源")在运行中,后部署的项目(后统称"目标")也在运行中。需要源的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 同步向导
- 弹出 向导的窗口,默认是
开始新工作
,点击下一步
按钮 - 选择源和目标的数据库,点击
下一步
按钮 - 进入
数据同步高级选项
,我选的是单向同步
并勾选不要在目标删除额外的行
,点击下一步
按钮 - 进入
选择想要同步的表
,我选的是在数据库中同步所有表
,点击下一步
按钮 - 进入
你要如何执行同步?
页,因为我是在本地导入了2个数据库,需要将同步的sql导入到远程上,所以选择的是同步和生成脚本
,然后在给文件名
选择存放sql的路径,点击下一步
按钮 - 进入
错误处理
页,我是全不勾选,点击下一步
按钮 - 进入
在定期间隔发送查询结果
,我选择的是立即运行
,点击下一步
按钮 - 进入到进行处理 同步操作了,等待执行完成,执行完成之后,
下一步
按钮是启用的了,点击下一步
按钮之后,会进入向导成功完成
页,点击完成
按钮或者当前窗口的关闭按钮就会关闭窗口了。
然后打开第5步保存的sql文件,看里面是否是有 INSERT
或者UPDATE
语句,如果有,将所有语句复制到远程的 phpmyadmin中的目标数据库中,执行对应的sql语句,就完成了数据同步操作了。。。

个别模块或多或少有需要对比数据库结构的时候。一般存在于安装模块缺少字段等问题。比较常见的如【禾匠小程序商城,如升级的时候都需要对比数据库结构】,【人人商城首次安装,对比下数据库结构,因人数据库表较多,对比下结构,后续不容易出现问题】微擎通用各类数据库结构对比教程
常用于各类模块升级,或者安装缺数据库表、字段的情况下。一样的模块一样的程序到了不同站点,个别用户可能就会出现安装后少数据库表的情况,通常遇到此问题就可以尝试对比下数据库结构来解决
本文以【禾匠小程序商城】为列(禾匠这个模块升级基本都是需要对比数据库结构的)
1.正在运营的站点,已上线的项目请一定备份下,文件备份和数据库都需要备份
2.将禾匠的后端文件zjhj_mall打包上传到微擎站点的addons文件夹,解压覆盖
3.微擎后台–更新系统缓存–小程序应用–已安装应用–升级(禾匠)
如果框架是2.0版的,应用管理–已安装应用–升级
对比数据库结构一般需要对比数据库结构的模块,本站都会在里面有一个数据库结构对比源的sql数据库文件,如这类标志的,通常是后端有些莫名BUG,可用下图的数据库结构进行对比,可大大减少BUG的可能。

接下来我们用数据库软件【自行百度下载】Navicat premium,下载后安装在自己的电脑上面
我们去宝塔控制面板新建一个数据库,将数据库结构对比源也就是上图说的那个升级用的数据库文件导入进去
(不是用宝塔控制面板的也可以本地电脑搭建个phpStudy环境,创建数据库导入数据库结构对比源)
接下来我们打开navicat数据库软件,
连接数据库【微擎站点的数据库以及新建的数据库(导入了数据库结构对比源的)】
连接之前我们需要将服务器的3306端口打开,使用宝塔控制面板的同学,服务器开了3306端口,宝塔控制面板也要开放下3306端口,并将数据库权限改为所有人,否则等下是连接不上的。

连接这两个数据库

如下图,输入数据库信息
点击连接测试–提示–连接成功–点击确定,把两个数据库都连接下
点击工具–结构同步

源:对应的是我们导入了数据库结构对比源的数据库
目标:对应的是我们微擎站点的数据库
大家一定要注意,默认是勾选上了【删除对象的SQL】这里我们要去掉勾选,如下图,去掉勾选后,点击比对

点击后进入如下界面,我们需要漫长的等待,根据自己服务器配置有关系,电脑配置有关系
一般的话大概需要10-30分钟不定,甚至更长,这个要看你微擎数据库表多不多。我们一定要等

我们继续等,等到如下图100%完成

选中一个数据库,然后右键,全部选择

必须点击“运行查询”,如果你点了数据同步,那么数据全部丢失!!!!!
结构同步完后,如下图

数据库结构对比完成,关闭Navicat,将数据库权限改为本地服务器,3306端口删除
然后进微擎后台,更新缓存,检查升级有没有哪里出错或不正常的,如有发现,恢复备份数据
【此方法适应于各类数据库结构对比教程】
建议大家先用测试站多熟悉熟悉,再用于正式站点操作,操作之前一定要做好备份,再次劝告大家,框架升级、模块升级之前请务必做好备份,不要节省备份的这一点时间,数据无价,万一出错了,后悔来不及。
升级完后及时检查各方面数据。
以上方法适合动手能力强的同学
还有一种方法简单宝塔面板搜索插件数据结构比对工具付点毛爷爷每月省时省力
漫资源 » 使用sqlyog工具同步两个相同结构的数据库之间的数据