配置SSL CA證書用于訪問MySQL實例
更新時間 2024-10-18 17:08:57
最近更新時間: 2024-10-18 17:08:57
分享文章
本頁介紹如何配置SSL CA證書用于訪問關系數據庫MySQL版的實例。
操作場景
為了提高關系數據庫MySQL版的鏈路安全性,您可以啟用SSL(Secure Sockets Layer)加密,并安裝SSL CA證書到需要的應用服務。SSL在傳輸層對網絡連接進行加密,能提升通信數據的安全性和完整性,同時會增加網絡連接響應時間。
約束限制
實例的SSL狀態需要為“開啟”狀態。
已下載SSL CA證書。
操作步驟
開啟SSL加密后,應用或者客戶端連接MySQL時需要配置SSL CA證書。本文以MySQL Workbench、Navicat配置方法為例,介紹SSL CA證書安裝方法。其它應用或者客戶端請參見對應產品的使用說明。
MySQL Workbench配置方法:
- 打開MySQL Workbench。
- 選擇Database > Manage Connections。
- 啟用Use SSL,并導入SSL CA證書。
說明如果關閉SSL后又需要重新開啟,SSL CA證書將會重新生成,用戶需要下載最新的證書連接數據庫,舊證書將失效無法進行數據庫連接。
為防止開啟SSL后無需證書也可以連接數據庫,請設置用戶登錄方式限制,指令可參考:alter user 'root'@'%' require ssl。
Navicat配置方法:
- 打開Navicat。
- 選擇目標數據庫并單擊鼠標右鍵,選擇編輯連接。
- 選擇SSL頁簽,選擇.pem格式CA證書的路徑。
- 單擊確定。
- 通過雙擊目標數據庫來測試能否正常連接。
通過SSL連接數據庫示例代碼,Python示例:
- 需要首先安裝依賴pymysql
pip install pymysql - 編寫代碼
import pymysql import traceback try: conn = pymysql.connect( host='192.168.*.*', user='*****', passwd='******', db='*****', ssl=True, ssl_ca='/path/ca_file_name') cursor = conn.cursor() cursor.execute('select version()') data = cursor.fetchone() print('Database version:', data[0]) cursor.close() except pymysql.Error as exc: print(traceback.format_exc())