Mysql数据库结构同步 MySQL Workbench

MySQL 数据库中表结构差异比对,并生成可执行的脚本

所使用工具:MySQL 官方提供的 Workbench

1、用途

项目开发初期,需要频繁的对表结构进行改变,每次记录更新的 SQL 费时费力。上线测试服务器时,需要执行更新版本的 sql,因此需要获得线上数据库和本地数据库中字段的差异,所以需要数据库表结构对比。

2、步骤

2.1 打开 MySQL Workbench,点击 Database->Reverse Engineer

img

2.2 进入后会弹出一个配置页面,直接点击 Cancel 进行取消

img

2.3 在新的标签页 MySQL Model 中点击 Database -> Synchronize with Any Source..

img

2.4 在打开的窗口点击 Next

img

2.5 可参考图片进行配置,最后一项为导出同步 sql 的文件位置,点击 Next

img

2.6 选择源数据库,即最新的数据库服务地址,点击 next

img

2.7 选择目标数据库,即需要更新的数据库服务地址(旧数据库),点击 Next

因为我的两个库位于同一个 mysql 服务上,所以值相同
img

2.8 处理完成后点击 Next

img

2.9 这一步比较关键,即选择需要同步的库,配置后点击 Next

img

左边是源数据库(即最新的数据库),右边是目标数据库(即你要改边的数据库,也就是旧数据库),在你需要同步的库前打勾。
img
默认两个服务下的库名是相同的,如果你的目标数据库库名和源数据库不相同,则需要修改,在下边的 Override target schema to be synchronized with:中选择目标数据库后,点击 Override Target
如下图所示,old_table 中表结构将会被 new_table 中的表结构替换
img

2.10 待系统处理后,点击 Next

img

2.11 点击每一条即可查看需要更新的 sql 语句

img

2.12 最后可以复制到剪切板执行,也可以点击 Execute,保存到 2.5 中的文件里

img

posted @ 2025-07-23 15:51  生活的样子就该是那样  阅读(269)  评论(0)    收藏  举报