MySQL 工作台  /  附录 A MySQL Workbench 常见问题解答

附录 A MySQL Workbench 常见问题解答

常见问题分类

基本用法

A.1. 什么是 MySQL 连接?为什么我可能需要创建多个?
A2。 MySQL Workbench 是否支持 TLSv1.2 协议?
A.3. 如何在 MySQL Workbench 中创建 MySQL 数据库(模式)?
A.4. 有没有一种简单的方法可以从表中选择所有数据,然后查看结果?

A.1.

什么是 MySQL 连接?为什么我可能需要创建多个?

MySQL 连接将 Workbench 链接(连接)到 MySQL 服务器。大多数在 Workbench 中执行的操作随后都会针对连接的 MySQL 服务器执行。每个 MySQL 连接都包含自己的一组定义,因此您可以在 Workbench 中定义多个 MySQL 连接。例如,连接可能会连接到不同的 MySQL 服务器,或具有不同用户名的同一 MySQL 服务器,或者为一个服务器启用 SSL,或者您可能会使用 SSH 设置到远程 MySQL 服务器(在您的 web 主机上?)的连接选项等等。

至于与同一本地 MySQL 服务器的多个连接,您可能有一个连接使用“root”,而另一个连接使用特权较低的用户。根据您设置用户的方式,他们可能(也可能没有)都有权查看和使用相同的数据库(信息)。例如,您可以使用 Workbench 来配置和使用您用于 Web 应用程序的权限较低的用户。

所以总而言之,连接只是连接到 MySQL 服务器。如果两个连接使用完全相同的信息,那么 Workbench 中的结果应该是相同的,尽管这不是常见的用例。有关 MySQL Workbench 中 MySQL 连接的其他信息,请参阅 第 5 章,MySQL Workbench 中的连接

A2。

MySQL Workbench 是否支持 TLSv1.2 协议?

因为 TLSv1.2 需要 OpenSSL,MySQL Workbench 商业版支持此协议,而社区版(使用 yaSSL 编译,仅支持 TLSv1.1)不支持。

A.3.

如何在 MySQL Workbench 中创建 MySQL 数据库(模式)?

  • 打开 MySQL 连接以打开 SQL 编辑器。

  • 在左窗格中有一个对象浏览器,其中包含两个标题为ManagementSchemas的选项卡。选择架构选项卡(默认)。

  • 右键单击Schemas 窗格中的任意位置,然后 从上下文菜单中 选择Create Schema 。

  • 按照模式创建向导命名您的新模式,然后单击“应用”以创建新模式。

其他选项包括单击主导航栏上的“Create Schema”图标,或在 SQL 编辑器中执行“CREATE SCHEMA your_db_name”查询。

A.4.

有没有一种简单的方法可以从表中选择所有数据,然后查看结果?

在模式导航器中,将鼠标悬停在表上并单击 图标。这将执行“SELECT * FROM schema.table”查询并将结果加载到结果网格中。从那里您可以查看或编辑数据。

或者,右键单击表格并从 上下文菜单中 选择选择行 - 限制 1000 。

工作台功能

A.1. 如何使用 SSL 证书向导为我的 MySQL 服务器和 MySQL 客户端启用 SSL?
A2。 如何将我在 Workbench 中保存的 MySQL 连接复制到另一台计算机?
A.3. 如何查看我的 MySQL Workbench 查询历史记录?
A.4. 我可以保留结果选项卡而不是在每次执行语句时都刷新它吗?
A.5. 嵌入式 Web 浏览器功能如何工作?例如,单击主屏幕上的 Workbench 论坛会在其自己的嵌入式 MySQL Workbench 选项卡中打开论坛。
A.6. MySQL Workbench 如何提高导入性能?

A.1.

如何使用 SSL 证书向导为我的 MySQL 服务器和 MySQL 客户端启用 SSL?

执行向导生成 SSL 证书,然后相应地修改 MySQL 服务器的配置文件(my.cnfmy.ini)。sample-my.cnf您可以从生成的示例文件中复制粘贴 SSL 选项的条目。接下来,确认 SSL CA FileCERT FileKey File值已在 您的 MySQL 连接的SSL选项卡下正确设置。Use SSL设置为 Require (recommended) 或If available,然后执行Test Connection。这应该报告 SSL 已启用。

失败的 SSL 连接记录在 MySQL Workbench 日志文件中。有关日志文件位置的其他信息,请参阅 第 3.3 节,“MySQL Workbench 设置和日志文件”

有关其他信息,请参阅 第 5.3.5 节 “SSL 向导(证书)”

A2。

如何将我在 Workbench 中保存的 MySQL 连接复制到另一台计算机?

从主导航菜单中,选择ToolsConfiguration,然后 选择Backup Connections以使用您配置的 MySQL 连接创建一个 Zip 文件。接下来,使用相关的 Restore Connections选项将此文件加载到新的 Workbench 实例中。

A.3.

如何查看我的 MySQL Workbench 查询历史记录?

在底部窗格中,将Action Output更改为 History,然后选择适当的日期。

SQL 语句历史记录以纯文本形式存储在您的系统目录中用户的 MySQL Workbench 配置路径sql_history。这些文件按日期(例如 2014-01-15)组织,并包含所有 MySQL 连接的 MySQL Workbench SQL 语句历史记录。

A.4.

我可以保留结果选项卡而不是在每次执行语句时都刷新它吗?

是的,您可以固定结果选项卡以强制它保留并且不受 UPDATE 和其他语句的影响。通过右键单击结果选项卡并从上下文菜单中选择“固定选项卡”来执行此操作,或者左键单击小图钉图标以切换它。现在,执行其他查询,然后刷新固定选项卡(结果网格的菜单中有一个“刷新”图标)。

A.5.

嵌入式 Web 浏览器功能如何工作?例如,单击主屏幕上的Workbench 论坛会在其自己的嵌入式 MySQL Workbench 选项卡中打开论坛。

macOS 上使用 Webkit 系统库,Windows 上使用 Internet Explorer,Linux 外部打开默认浏览器,而不是嵌入式浏览器。按 Modifier + Arrow向前和向后移动浏览器历史记录。

A.6.

MySQL Workbench 如何提高导入性能?

导出模型时(数据库正向工程师...),临时设置一些 MySQL 服务器变量以启用服务器更快的 SQL 导入。在代码开头添加的语句是:

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

这些语句的作用如下:

  • SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;:确定是否 InnoDB执行重复键检查。如果不执行此检查,大型数据集的导入速度会快得多。有关其他信息,请参阅 unique_checks

  • SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;: 确定服务器在定义外键时是否应检查引用表是否存在。由于潜在的循环引用,必须在导入期间关闭此检查,以允许定义外键。有关其他信息,请参阅 foreign_key_checks

  • SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';将 SQL_MODE设置为 TRADITIONAL,导致服务器以更严格的模式运行,并且 ALLOW_INVALID_DATES,导致日期无法完全验证。

然后使用以下语句在脚本末尾重置这些服务器变量:

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

工作台行为

A.1. 为什么我的查询结果有时显示只读但有时我可以在结果网格中编辑数据?
A2。 我正在尝试执行 DELETE 查询,但查询失败并出现“错误代码:1175”错误。我该如何进行?
A.3. 我的 MySQL 服务器连接超时,出现类似“错误代码:2013。查询期间与 MySQL 服务器失去连接”的错误。我可以调整超时吗?
A.4. MySQL Workbench 表编辑器中的列标志首字母缩略词(PK、NN、UQ、BIN、UN、ZF、AI、G)是什么意思?

A.1.

为什么我的查询结果有时显示只读但有时我可以在结果网格中编辑数据?

查询结果网格中的数据仅当查询结果包含主键时才可编辑。例如,如果 不是主键SELECT type FROM food则为只读,但如果为主键则可编辑。通常,Workbench 中使用的语法通常包括带有主键的查询结果。 typeSELECT id, type FROM foodidSELECT *

有关其他信息,请将鼠标指针移到 只读图标上以显示工具提示,解释您的结果集为何处于只读模式。

A2。

我正在尝试执行 DELETE 查询,但查询失败并出现“错误代码:1175”错误。我该如何进行?

默认情况下,Workbench 配置为不执行在 KEY 列上不包含 WHERE 子句的 DELETE 或 UPDATE 查询。要更改此行为,请打开您的 Workbench Preferences,选择SQL Editor部分,然后禁用以下首选项:

[ ]“安全更新”。禁止在 WHERE 子句中没有键或没有 LIMIT 子句的更新和删除。

更改此首选项需要您重新连接到您的 MySQL 服务器才能生效。

A.3.

我的 MySQL 服务器连接超时,出现类似“错误代码:2013。查询期间与 MySQL 服务器失去连接”的错误。我可以调整超时吗?

是的,转到PreferencesSQL Editor,并调整默认为 600 秒的DBMS 连接读取超时选项。这设置了在 MySQL Workbench 与 MySQL 服务器断开连接之前查询可以花费的最长时间(以秒为单位)。

A.4.

MySQL Workbench 表编辑器 中的列标志首字母缩略词(PK、NN、UQ、BIN、UN、ZF、AI、G)是什么意思?

选中这些框会通过将选中的约束分配给指定的列来更改表列。

将指针移到首字母缩略词上以查看说明,并参阅 第 8.1.10.2 节“列选项卡”和有关CREATE TABLE其他详细信息的文档。

数据管理

A.1. 如何使用 Workbench 将逗号分隔值 (CSV) 数据导入 MySQL?
A2。 如何将MySQL数据导出为CSV、JSON、XML等格式的纯文本文件?
A.3. 如何将 MySQL 数据库导出(保存)到文本文件?

A.1.

如何使用 Workbench 将逗号分隔值 (CSV) 数据导入 MySQL?

将 CSV 数据导入新表或现有 表数据导入向导将可配置的 CSV 数据导入新表或现有表。这个选项是在 MySQL Workbench 6.3 中添加的。

将 CSV 数据导入结果集从外部文件导入记录向导将 CSV 数据直接导入结果集的视图。

或者,数据导入向导将您保存的 MySQL 文件导入您的 MySQL 服务器。有关其他信息,请参阅 第 6.5 节“数据导出和导入”

A2。

如何将MySQL数据导出为CSV、JSON、XML等格式的纯文本文件?

Workbench 中的结果视图面板有一个“将记录集导出到外部文件”选项,可以将结果集导出为多种格式。有关其他信息,请参阅 导出结果集

笔记

这不同于将 MySQL 数据导出为标准 MySQL 格式的数据导出 向导。有关更多信息,请参阅 第 6.5 节,“数据导出和导入”

A.3.

如何将 MySQL 数据库导出(保存)到文本文件?

打开一个 MySQL 连接,然后 从主导航菜单中选择服务器,然后选择数据导出以打开数据导出向导。或者,从左侧管理窗格中为所需的 MySQL 选择 选择数据导出。

您可以在此处选择要导出的数据库、是否包含数据、转储到单个文件或多个文件(每个表一个)等。有关其他详细信息,请参阅 第 6.5 节“数据导出和导入”

一般的

A.1. 我被迫使用 MySQL Workbench 5.2.x,它的文档可用吗?

A.1.

我被迫使用 MySQL Workbench 5.2.x,它的文档可用吗?

虽然不再维护 5.2.x 分支,但其文档存档在 http://dev.mysql.com/doc/index-archive.html