接触过很多使用MySQL的人,当询问他们使用哪种图形化工具对MySQL数据库执行操作管理时,得到的答案五花八门,却很少有人使用MySQL官方的图形化工具MySQL Workbench。在这篇文章里,将为大家介绍一下这款官方的图形化工具的功能和特点,希望能够让更多的人了解它,使用它。
MySQL Workbench是MySQL官方推出的唯一一款图形化的客户端工具,该工具有两个版本,免费的社区版和付费的企业版。通常情况下,一旦一款产品出现了免费和付费的两个版本,免费版会让人认为是一个阉割了大部分功能鸡肋产品,但MySQL Workbench的社区版不是这样的,这是一款良心产品,是MySQL团队希望大多数人都能够使用的一款产品。社区版和企业版的区别仅仅在于对企业版套件部分的支持,例如可以通过它执行企业版备份功能等等,除此之外,两个版本的功能一样,完全可以满足使用社区版MySQL用户的需求。
MySQL Workbench的一系列功能包括:执行查询语句、查看性能报告、可视化查询计划、管理配置及检查模式、生成ER图、数据迁移等等。MySQL Workbench支持在Windows、MacOS以及Linux平台上安装使用,几乎覆盖了开发人员和管理人员使用的全部平台。用户可以从MySQL的官方网站下载各种版本:https://dev.mysql.com/downloads/workbench/
安装过程在这里不在详述,过程非常简单,需要帮助的可以查看在线手册的内容:https://dev.mysql.com/doc/workbench/en/wb-installing.html
使用过程中,首先需要创建一个连接,通过创建的连接连到MySQL数据库。
Workbench支持三种连接方式,分别是标准TCP连接、本地socket/pipe连接以及通过SSL的标准TCP连接。基本覆盖了目前使用环境下的连接方式。
通过连接连入MySQL数据库以后,Workbench会展示6个区域:
1:主要是执行各种命令的按钮。表示执行区域2所选的SQL语句,如果不选择将全部执行。旁边带有一个游标的按钮表示执行当前光标行的语句。右边还有一个带放大镜的按钮,该按钮可以显示查询语句的执行计划。
2:在这里输入各种查询语句。它有一个好处,可以自动保存输入的查询语句,当下次打开连接时,会自动显示之前的语句,因此你可以将它当做一个记事本,保存部分使用的查询语句。
3:这里主要是显示查询的结果。右侧的一系列按钮可以按照不同的格式显示结果,最下面的是显示查询计划的按钮。
4:这部分默认会输出最后一次查询的状态信息,包括何时执行查询、查询内容、找到的行数以及执行它所花费的时间。
5:默认显示的帮助文档。用户可以直接在这里获得关于MySQL的相关帮助内容。
6:主要包括管理、模式、对象信息和当前会话的信息。模式里面可以通过下拉点击快速查询详细内容。
Tip:这里给大家介绍一个小窍门,在区域1的右侧有一个小扫把的图标,该按钮可以美化你的查询语句。
两条语句是一样的,上面是美化前的,下面是经过美化具有缩进格式。
生成ER图。接下来,给大家展示的是Workbench的一个优秀的功能,通过反向工程生成ER图。这个功能个人觉得在工作中应该要经常使用。简单来说,它可以连接现有的数据库,然后生成ER图。想象一下它的使用场景,数据库经过开发和维护阶段的不断更改,还有人可以简单明了的说清楚数据库现在是什么样子的吗?通过使用它,可以快速生成最新的ER图,非常利于项目的管理。点击Database->Reverse Engineering
然后按照指引,选择连接和需要导出的schema。
接下来再选择需要转换的对象。
最后点击Execute,就会生成ER图了。
查看性能报告。通过Workbench可以即时查询MySQL的性能。点击左侧Adminstration->Dashboard就可以查看当前的实时性能。
快速查看Performance Report。通过MySQL Workbench可以快速查看和配置performance_schema。
配置Performance Schema可以很方便,Workbench提供了完全启用、自定义、服务器默认及禁用4种模式。并且可以开启高级选项,进行详细的配置。
数据库迁移向导。Workbench支持通过ODBC将其它数据库迁移至MySQL。
这个向导支持特定的数据库和支持ODBC的通用数据库,迁移过程包括选择数据源、选择目标、检索模式列表、选择模式、逆向工程源、源对象、迁移、人工编辑、创建目标、创建模式等一系列过程,最终生成迁移报告。
Workbench还支持快速的数据导入导出,管理菜单里提供方便的导出。
数据导出:
数据导入/恢复:
此外,MySQL Workbench还包括一些其它的便利功能,等待您自己慢慢去发现。
最后再强调一下,上面介绍的全部功能都包括在社区版里面。欢迎使用。