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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 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 教程,可继续拓展学习:

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
2天前
|
NoSQL 关系型数据库 分布式数据库
基于PolarDB的图分析:通过DTS将其它数据库的数据表同步到PolarDB的图
本文介绍了使用DTS任务将数据从MySQL等数据源实时同步到PolarDB-PG的图数据库中的步骤.
|
1月前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
1月前
|
存储 机器学习/深度学习 监控
南大通用GBase 8s数据库onbar基础使用教程
数据备份与恢复是确保数据安全和业务连续性的关键。onbar作为GBase 8s数据库的备份工具,需配合存储管理器使用,通过配置BAR_BSALIB_PATH等参数,实现数据的备份与恢复。本文详细介绍了onbar的配置、备份、恢复及监控流程,帮助数据库管理员构建高效的数据保护方案。
|
2月前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
58 3
|
2月前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
68 0
【入门级教程】MySQL:从零开始的数据库之旅
|
2月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
3月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
3月前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
2月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
55 0