操作场景
为了提高关系数据库MySQL版的链路安全性,您可以启用SSL(Secure Sockets Layer)加密,并安装SSL CA证书到需要的应用服务。SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,同时会增加网络连接响应时间。
约束限制
实例的SSL状态需要为“开启”状态。
已下载SSL CA证书。
操作步骤
开启SSL加密后,应用或者客户端连接MySQL时需要配置SSL CA证书。本文以MySQL Workbench、Navicat配置方法为例,介绍SSL CA证书安装方法。其它应用或者客户端请参见对应产品的使用说明。
MySQL Workbench配置方法:
1. 打开MySQL Workbench。
2. 选择Database > Manage Connections。
3. 启用Use SSL,并导入SSL CA证书。
² 说明
如果关闭SSL后又需要重新开启,SSL CA证书将会重新生成,用户需要下载最新的证书连接数据库,旧证书将失效无法进行数据库连接。
Navicat配置方法:
1. 打开Navicat。
2. 选择目标数据库并单击鼠标右键,选择编辑连接。
3. 选择SSL页签,选择.pem格式CA证书的路径。
4. 单击确定。
5. 通过双击目标数据库来测试能否正常连接。
通过SSL连接数据库示例代码,Python示例:
1. 需要首先安装依赖pymysql
pip install pymysql
2. 编写代码
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())