mysql支持ssl连接

mysql支持ssl连接

第一步: 配置修改mysql配置

1.1 mysql默认是不开启ssl,所以需要打开ssl配置

编辑my.cnf

mysql 复制代码
vim /etc/my.cnf
mysql 复制代码
#在第8行添加一下配置

# SSL配置 - 添加在这里
ssl=ON
ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/server-cert.pem
ssl-key=/var/lib/mysql/server-key.pem
# 强制所有远程连接使用SSL
#require_secure_transport=ON


#注释掉跳过ssl的配置(否则以上打开ssl配置不生效)

#skip_ssl

参数说明:

  • require_secure_transport=ON:强制所有连接使用 SSL,包括本地连接。如果只要求远程连接使用 SSL,可以设置为 OFF, (默认为OFF)

1.2 保存my.cnf 并重启mysql数据库

mysql 复制代码
#重启mysql命令
 systemctl restart mysqld

#停止mysql命令
systemctl stop mysqld

#查看mysql运行状态 

systemctl status mysqld

1.3 验证 MySQL SSL 配置是否生效

bash 复制代码
# 连接到 MySQL
mysql -u root -p

# 检查 SSL 相关变量
SHOW VARIABLES LIKE '%ssl%';

预期结果:

plaintext 复制代码
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| have_ssl                 | YES                        |
+--------------------------+----------------------------+

第二步修改应用配置连接

2.1 修改应用数据库连接配置

以 604 版本为例,需要修改以下应用的配置文件:

  • sso

  • portal

  • audit

将原来参数:

plaintext 复制代码
useSSL=false

修改为:

plaintext 复制代码
useSSL=true&requireSSL=true&verifyServerCertificate=false

2.3 完整配置示例

例如: /opt/paraview/esc/etc/props/esc-idm-demo.properties

mysql 复制代码
# 根据项目替换数据库 IP
# iso, portal, audit,配置打开 SSL 参考
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/escdb?useUnicode=true&allowPublicKeyRetrieval=true&useSSL=true&requireSSL=true&verifyServerCertificate=false&characterEncoding=UTF-8&autoReconnect=true&relaxAutoCommit=true&serverTimezone=GMT%2B8&treatTinyAsBoolean=false&rewriteBatchedStatements=true

2.4 参数说明

参数 值 说明
useSSL true 启用 SSL 连接(必须)
requireSSL true 强制要求 SSL,如果服务器不支持 SSL 则连接失败(推荐)
verifyServerCertificate false 不验证服务器证书(适用于自签名证书)

2.5 重启应用

修改配置后,重启各个应用服务,使配置生效。


第三步:验证配置

3.1 验证应用连接

1.检查应用启动日志

  • ✅ 正常:无 SSL 相关错误,应用正常启动

  • ❌ 错误:出现 Connections using insecure transport are prohibited 等错误

2.测试数据库操作

  • 在应用中执行简单的数据库查询,确认连接正常
相关推荐
龙腾AI白云2 小时前
AI检索增强生成(RAG):解决大模型幻觉的核心落地技术
数据库·人工智能·机器学习·知识图谱
一 乐2 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
zzj_2626102 小时前
MySQL常用操作
数据库·mysql
其实防守也摸鱼3 小时前
Fastjson 反序列化漏洞(JNDI注入)
android·数据库·安全·oracle·自动化·fastjson·反序列化
haerapi3 小时前
把 PostgreSQL 复制巡检做成可审计闭环:确定性采集、阈值判定与受控模型归纳
数据库·postgresql
yolo_guo3 小时前
调试mysql延迟与libevent回调实际发送回复时机问题
c++·mysql·libevent
旺仔学长 哈哈3 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
微学AI4 小时前
不让每一步都调用最贵模型:用蓝耘智能路由改造自主式研究 Agent
数据库·人工智能·蓝耘
yjb.gz4 小时前
Oracle19 RAC查看集群状态及磁盘空间情况(巡检)
数据库
钝挫力PROGRAMER4 小时前
开发踩坑记:MyBatis selectKey、空 SQL
数据库·sql·mybatis