如何使用 MySQL Workbench 自动生成 ER 图、同步更新远程数据库 - MySQL Workbench 使用教程

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL Workbench 作为 MySQL 官方出品的数据库 GUI 管理工具,它的强大是其他免费管理工具无法匹敌的。特别是使用 MySQL Workbench 设计数据库,创建及同步 ER 图(实体关系图)的功能甚是强大。MySQL Workbench 不仅可以直接在软件中设计数据库 ER 实体关系图,而且还可以直接通过这个实体关系图,自动创建 MySQL 数据库(正向工程),也可以反过来,通过已有的 MySQL 数据库,生成 ER 图(逆向工程),当然,更厉害的地方是,可以在 MySQL ER 图上直接修改,MySQL 数据库会自动同步更新(模式同步)。

如何使用 MySQL Workbench 自动生成 ER 图、同步更新远程数据库 - MySQL Workbench 使用教程

MySQL Workbench 作为 MySQL 官方出品的数据库 GUI 管理工具,它的强大是其他免费管理工具无法匹敌的。特别是使用 MySQL Workbench 设计数据库,创建及同步 ER 图(实体关系图)的功能甚是强大。

MySQL Workbench 不仅可以直接在软件中设计数据库 ER 实体关系图,而且还可以直接通过这个实体关系图,自动创建 MySQL 数据库(正向工程),也可以反过来,通过已有的 MySQL 数据库,生成 ER 图(逆向工程),当然,更厉害的地方是,可以在 MySQL ER 图上直接修改,MySQL 数据库会自动同步更新(模式同步)。

本教程将详细讲解如何使用 MySQL Workbench 创建 ER 图及具体操作步骤。

如果你是刚接触 MySQL Workbench 的新用户。推荐先学习:

1.如何使用 Workbench 远程连接到 MySQL 服务器

2.如何使用 Workbench 操作 MySQL 数据库中文指南

在本教程中你将学习到

  1. 如何生成 MySQL 数据库 ER 图(逆向工程)

2.如何使用 Workbench 模式同步功能同步本地 ER 图与远程 MySQL 数据库

3.导出 ER 图、协同工作

使用 MySQL Workbench 将数据库 SQL 代码转化成 数据库 ER 关系图。

使用 MySQL Workbench 将数据库 SQL 代码转化成 数据库 ER 关系图。

一. 如何生成 MySQL 数据库 ER 图(逆向工程)

准备连接远程数据库

我们在 MySQL Workbench 主界面的菜单栏选择「Database」→ 「Reverse Engineer...」

配置连接 MySQL 信息

连接需要通过 MySQL Workbench 直接生成 ER 图的数据库。(有关如何远程连接的教程可看我们前一篇教程:如何使用 Workbench 远程连接到 MySQL

配置连接MySQL数据库

点击「Continue」完成数据库连接。

选择需要创建 ER 图的数据库

本教程演示的是连接到卡拉云(kalacloud.com)的 MySQL 测试服务器,各位可根据自己需求,选择需要创建 ER 图的数据库。

选择需要在 ER 图中显示的表

这里大家根据自己的需求选择需要在 ER 图中显示的表。

ER 图生成成功

到这里,我们已经可以看到, MySQL Workbench 将我们选中的数据库生成了对应的 ER 图。

创建 ER 图

这是一个简单的 CRM 管理系统的数据库 DEMO。当然,不论你的数据库结构多么错综复杂,Workbench 都能轻松搞定。

更厉害的是,Workbench 有模式同步功能,即我们在本地修改了 ER 图后,Workbench 会把我们修改的部分同步到物理数据库中,这是在免费数据库 GUI 管理工具当中,是非常少见的杀手锏级的功能。

扩展阅读:《如何配置开启 MySQL 远程连接,阿里云允许外网连接教程

二. 如何使用模式同步功能,同步本地 ER 图与远程 MySQL 数据库

模式同步是指 MySQL Workbench 会比较 ERD 和 物理数据库中模式结构的差异,针对这个差异进行双向同步。也就是说,当我们在 ER 图上创建一个新表并配置好表属性后,我们的物理数据库中也将同步更新。

1.在 ER 图中创建新表

在 ER 图中创建新表

1.点击创建表功能,进入数据库表配置页。

2.我们可以直接在 ER 图上创建一个新表 new_table_kalacloud,然后对这个新表进行基本的配置。

3.Workbench 会在画布上生成一个对应的数据库表。

这时候,创建的表仅显示在本地画布上,下面我们要把这个新建表同步到远端 MySQL 服务器上。

2.将更新后的 ER 图同步至物理数据库

将更新后的 ER 图同步至物理数据库

接着我们将刚刚在 ER 图上画的 new_table_kalacloud 这个表同步到物理数据库中。

选择「Database」→「Synchronize Model」 进入同步配置页。

Synchronize Model 进入同步配置页

连接需要同步的远程数据库服务器(如果这里你不会配置,请看我们之前的教程《Workbench 远程连接到 MySQL》)

连接到远程 MySQL 服务器

连接到远程 MySQL 服务器后,选择需要同步的远端数据库。

选择数据同步方向

Workbench 会根据两边的数据提示你数据同步方向,当然你也可以选择反向同步或者忽略差异。

Workbench 会帮你写好 SQL 代码

一切确认后,Workbench 会帮你写好 SQL 代码,检查无误后就可以提交了。

本地 ER 图和远程 MySQL 数据库,数据结构保持一致

同步成功,此时本地 ER 图和远程 MySQL 数据库,数据结构保持一致。

扩展阅读:《如何在 MySQL 中创建、查看、删除触发器,触发器的六种用法》

三. 导出 ER 图与远程协同工作

Workbench 提供多种格式的导出方式,不仅可以导出数据库模型(*.mwb)也可以导出可视化的图片文件(pdf、png)等。

如果使用 *.mwb 格式保存,可将文件共享给需要协同的同事,他可在你的基础上继续对数据库进行编辑,以及 sync 修改数据库结构。

当然我们也可以直接保存为 png 格式,不论是自己查看还是共享给协同工作的同事,都是非常好的数据库查询资料。

导出的workbench数据库ER图

直接导出 PNG 格式

本教程导出范例:

扩展阅读:《如何在 MySQL 中导入导出数据库、CSV、Excel

四. 卡拉云 - 新一代低代码开发工具

MySQL Workbench 为我们提供了管理 MySQL 的图形界面管理工具,可以在本地轻松管理远程数据库,但 Workbench 只能做较底层的数据库操作。对于「构建在数据库之上,需要前端定制开发」的需求,并不适用。如果你有自己对数据库增删改查的工作流,推荐一下卡拉云。

卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 API。不仅可以完成 Workbench 所有功能,还可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。数月的开发工作量,使用卡拉云后可缩减至数天。

卡拉云可一键接入常见的数据库及 API

卡拉云可一键接入常见的数据库及 API

卡拉云可根据公司工作流需求,轻松搭建数据看板或其他内部工具,并且可一键分享给组内的小伙伴。

使用卡拉云快速搭建企业内部工具

下图为使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具。欢迎试用卡拉云

使用卡拉云搭建「优惠券发放核销」后台

总结

在本教程中,我们讲解了 MySQL Workbench 操作 MySQL 数据库的基础操作。更多数据库相关教程可访问 卡拉云 查看。

有关 MySQL 教程,可继续拓展学习:

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
82 15
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
13天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
17天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
1月前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
25天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
1月前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
39 1
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
53 4
|
1月前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
249 1
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
140 2

推荐镜像

更多
下一篇
DataWorks