Mysql数据库结构同步 MySQL Workbench
MySQL 数据库中表结构差异比对,并生成可执行的脚本
所使用工具:MySQL 官方提供的 Workbench
1、用途
项目开发初期,需要频繁的对表结构进行改变,每次记录更新的 SQL 费时费力。上线测试服务器时,需要执行更新版本的 sql,因此需要获得线上数据库和本地数据库中字段的差异,所以需要数据库表结构对比。
2、步骤
2.1 打开 MySQL Workbench,点击 Database->Reverse Engineer

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

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

2.4 在打开的窗口点击 Next

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

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

2.7 选择目标数据库,即需要更新的数据库服务地址(旧数据库),点击 Next
因为我的两个库位于同一个 mysql 服务上,所以值相同

2.8 处理完成后点击 Next

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

左边是源数据库(即最新的数据库),右边是目标数据库(即你要改边的数据库,也就是旧数据库),在你需要同步的库前打勾。

默认两个服务下的库名是相同的,如果你的目标数据库库名和源数据库不相同,则需要修改,在下边的 Override target schema to be synchronized with:中选择目标数据库后,点击 Override Target
如下图所示,old_table 中表结构将会被 new_table 中的表结构替换

2.10 待系统处理后,点击 Next

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

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


浙公网安备 33010602011771号