此精靈可協助為 MySQL 用戶端和 MySQL 伺服器建立 SSL 憑證。MySQL Workbench 中的連線會由精靈使用憑證更新。此精靈需要 OpenSSL 來建立憑證。也會產生一個使用產生憑證的範例 MySQL 組態檔 (my.cnf
/ my.ini
)。
OpenSSL 二進位檔應該位於系統的 PATH 中。
從 MySQL 伺服器連線的 SSL 標籤啟動 SSL 精靈。在 MySQL 連線編輯器中找到此標籤。按一下 以執行精靈,如下圖所示。
閱讀歡迎畫面上的說明文字 (如下圖所示),然後按一下
。勾選適用的選項。下圖顯示可用選項的範例。
使用預設參數:勾選此選項可略過輸入選用屬性,例如國家/地區、州/省、組織等等。根據預設,這些欄位為空白。
產生新的憑證和自我簽署金鑰:勾選此選項可產生新檔案,否則會使用現有檔案。如果您已產生 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 用戶端憑證路徑。有三個路徑要更新。
重新啟動 MySQL 伺服器。在記錄檔中,您應該會看到類似「警告 CA 憑證
C:\certs\ca-cert.pem
是自我簽署的。」的訊息。在 MySQL 連線編輯器中,按一下
應該會確認您的 SSL 連線。
此外,請考慮將 使用 SSL 設定為「必要」。或者,如果您遇到問題,請在偵錯問題時將其設定為「如果可用」。