[已解决]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)

相关推荐
影子落人间3 分钟前
Linux常用命令大全
linux·运维·服务器
keep__go4 分钟前
GBase8a 开机自启动
linux·运维·服务器·南大通用·gbase8a
安亿1036 分钟前
linux下的日志编写
linux·服务器·c语言·软件构建
咩咩大主教7 分钟前
C++在Linux实现多线程和多进程的TCP服务器和客户端通信
linux·服务器·c语言·开发语言·c++·网络协议·tcp/ip
学习3人组10 分钟前
在 Linux 系统中目录架构说明
linux·服务器·php
王哲晓11 分钟前
Linux常见查看文件命令
linux·运维·服务器
愤怒的小阿淇这就开摆15 分钟前
TCP四大拥塞控制算法总结
服务器·网络·tcp/ip
打鱼又晒网19 分钟前
你了解system V的ipc底层如何设计的吗?消息队列互相通信的原理是什么呢?是否经常将信号量和信号混淆呢?——问题详解
linux·运维·服务器·后端·操作系统
鄃鳕22 分钟前
任务管理与守护进程【Linux】
linux·运维·服务器
学博成42 分钟前
MySQL5.7主从复制集群如何配置半同步复制
mysql