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

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
5天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
65 11
|
6天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
5天前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
18 2
|
8天前
|
存储 缓存 关系型数据库
MySQL 视图:数据库中的灵活利器
视图是数据库中的虚拟表,由一个或多个表的数据经筛选、聚合等操作生成。它不实际存储数据,而是动态从基础表中获取。视图可简化数据访问、增强安全性、提供数据独立性、实现可重用性并提高性能,是管理数据库数据的有效工具。
|
8天前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
35 0
|
30天前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
124 2
|
25天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
28天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
25天前
|
人工智能 小程序 关系型数据库
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
本文以热门游戏《黑神话:悟空》为契机,深入浅出地解析了数据库事务的四种隔离级别:读未提交、读已提交、可重复读和串行化。通过具体示例,展示了不同隔离级别下的事务行为差异及可能遇到的问题,如脏读、不可重复读和幻读等。此外,还介绍了在MySQL中设置隔离级别的方法,包括全局和会话级别的调整,并通过实操演示了各隔离级别下的具体效果。本文旨在帮助开发者更好地理解和运用事务隔离级别,以提升数据库应用的一致性和性能。
104 2
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略