此向导帮助为 MySQL 客户端和 MySQL 服务器创建 SSL 证书。向导使用证书更新 MySQL Workbench 中的连接。此向导需要 OpenSSL 来创建证书。还生成了一个使用生成的证书
的示例 MySQL 配置文件 ( my.cnf
/ )。my.ini
OpenSSL 二进制文件应该在系统的 PATH 中。
从MySQL 服务器连接的SSL选项卡 启动 SSL 向导。在 MySQL 连接编辑器中找到此选项卡。点击SSL Wizard执行向导,如下图所示。
阅读欢迎屏幕上的信息文本(如下图所示),然后单击“下一步”。
检查适用的选项。下图显示了可用选项的示例。
使用默认参数:选中此项以跳过输入可选属性,例如国家、州、组织等。默认情况下,这些字段为空。
Generate new certificates and self-signed keys:选中此项以生成新文件,否则使用现有文件。如果您已经生成 SSL 证书但忘记了文件所在的位置或如何配置它们,则可以禁用此功能。
更新连接:使用生成的证书信息更新定义的 MySQL 连接(在 MySQL Workbench 中)。
结果页面描述生成的文件,并提供您必须执行以完成操作的要求。例如,您必须手动编辑 MySQL 配置文件(my.ini
或my.cnf
)并定义 SSL 选项。
下图显示了一个示例结果屏幕。考虑让这个屏幕保持打开状态,并在复制文件并更改 MySQL 配置文件以启用 SSL 连接后将其关闭。该向导不会为您执行这些操作。
下面是使用生成的 SSL 文件设置 SSL 连接的示例过程。调整你的路径,因为它们会有所不同。
创建一个目录来存储证书文件。在这个简单的示例中,MySQL Workbench 安装在与 MySQL 服务器相同的主机上,我们在
C:\certs
系统上创建了“”。-
将结果复制并粘贴到新的(临时)文件中,但将 <directory> 更改为
C:\certs
我们创建的路径 ( )。例如:[client] ssl-ca=C:\certs\ca-cert.pem ssl-cert=C:\certs\client-cert.pem ssl-key=C:\certs\client-key.pem [mysqld] ssl-ca=C:\certs\ca-cert.pem ssl-cert=C:\certs\\server-cert.pem ssl-key=C:\certs\\server-key.pem
警告MySQL 将“\s”解释为空格,因此我们添加了一个额外的反斜杠来转义它。这就是您在上面的示例中看到“\\server-key.pem”的原因,因为 MySQL 服务器会将“\server-key.pem”解释为“erver-key.pem”。
-
打开 MySQL 服务器配置文件。在这个例子中,它的位置是“
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
”。笔记配置文件的位置取决于 MySQL 服务器的安装方式。连接编辑器定义并显示其位置,MySQL Workbench 中的选项文件页面也是如此。
-
在该部分下添加客户端证书信息
[client]
:[client] ssl-ca=C:\certs\ca-cert.pem ssl-cert=C:\certs\client-cert.pem ssl-key=C:\certs\client-key.pem
在该部分下添加服务器证书信息
[mysqld]
:[mysqld] ssl-ca=C:\certs\ca-cert.pem ssl-cert=C:\certs\\server-cert.pem ssl-key=C:\certs\\server-key.pem
在 SSL 选项卡下更新 MySQL 连接中 SSL 客户端证书的路径。更新路径有3种。
重新启动 MySQL 服务器。在日志中,您应该会看到类似“警告 CA 证书
C:\certs\ca-cert.pem
是自签名的”的内容。在 MySQL 连接编辑器中,单击测试连接应确认您的 SSL 连接。
此外,考虑将使用 SSL设置为“必需”。或者,如果您遇到问题,请在调试问题时将其设置为“如果可用”。