[已解决]mysql关闭SSL功能和永久关闭SSL设置

概述

在搭建服务器连接本地数据库时发现有个报错信息:

SQLState - 08S01

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 292 milliseconds ago. The last packet sent successfully to the server was 274 milliseconds ago.

网上搜了很多方法怎么都绕不过去,经过各种尝试发现,报错原因是mysql验证ssl证书导致的。

MySQL默认SSL认证设置是开启的,必须关闭此数据库的ssl认证或者关闭所有ssl认证,不然会一直显示连接失败!!

查看ssl状态

查看MySQL的SSL是否开启

复制代码
SHOW VARIABLES LIKE 'have_ssl';

这将显示是否支持 SSL 功能。

如果结果为 "YES",表示 MySQL 支持 SSL。

查看SSL的配置

复制代码
SHOW VARIABLES LIKE 'ssl%';

这将显示 SSL 相关的配置选项和参数,例如 ssl_ca、ssl_cert、ssl_key 等。

如果这些变量都有非空的值,表示 SSL/TLS 加密已启用,并且显示了相应的证书、密钥等信息。

解决方法用两种

1、项目连接配置关闭SSL

在连接数据库的URL上添加useSSL=false即可。(我没操作成功)

String url = "jdbc:mysql://your-mysql-server:3306/your-db-name?useSSL=false";

2、mysql自身关闭SSL(永久)

编辑 MySQL 配置文件 my.cnf(或 my.ini),一般位于 MySQL 安装目录的 /etc 或 /etc/mysql 子目录下。

复制代码
vim /etc/my.cnf

找到 mysqld 区块,并添加下面这行配置:

复制代码
ssl=0

保存文件并退出编辑器。

重启 MySQL 服务。

复制代码
sudo service mysqld restart

这样,SSL 连接就被完全禁用了,设置将在 MySQL 重启后生效。

要关闭 MySQL 的 SSL 连接,需要重启 MySQL 服务以使更改生效。再次查阅ssl状态就如图一样:

参考:

MySQL中的SSL设置-腾讯云开发者社区-腾讯云 (tencent.com)

相关推荐
Lonely 净土3 小时前
Rocky Linux 安装教程
linux·运维·服务器
数据库小学妹3 小时前
数据库等保三级和四级有什么区别?从访问控制到备份恢复的完整对比
数据库·安全·数据库安全·三级等保·等保合规·四级等保
看浪的路人4 小时前
第3讲:手写第一个 MCP Server(Python SDK)
jvm·数据库·oracle
大眼、不聚光4 小时前
5.mysql--主从同步安装部署
数据库·mysql
Yan_chen6665 小时前
SQL-LABS_Less18-20实战攻略
数据库·sql·web安全·网络安全
oradh5 小时前
Oracle RAC OCR维护操作总结
数据库·oracle·ocr·rac ocr维护·ocr维护·vote disk
snow@li6 小时前
HikariCP:高性能数据库连接池全景深入梳理
java·数据库
一个天蝎座的程序猿6 小时前
传统数据库迁金仓KES,空值问题差点让财务报表翻车
数据库
wWYy.7 小时前
Mysql:索引下推
数据库·mysql
Lust Dusk7 小时前
记一次Linux应急响应题目解析
linux·运维·服务器·网络·安全·网络安全