linux部署项目, 报数据库连接不上错误
问题描述: sprinboot项目, 本地连线上数据库可以使用, springboot项目中java包的版本是8.0, 线上数据库是5.7, 但在将项目部署到服务器上的时候发现项目启动报错, 于是寻找问题, 发现是useSSL=true导致的
出问题前的链接地址:
url: jdbc:mysql://localhost:3306/java-video?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
修改后的
url: jdbc:mysql://localhost:3306/java-video?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
于是对useSSL=true进行查询, 以下是对它的描述
当你在MySQL连接字符串中使用useSSL=true时,你告诉JDBC驱动程序尝试通过SSL(安全套接字层)加密与MySQL服务器之间的连接。但是,这个设置可能会导致一些问题,尤其是当数据库服务器未正确配置以支持SSL连接时。以下是详细解释:
-
SSL证书问题:
默认情况下,MySQL服务器使用自签名证书进行SSL连接。自签名证书不是由任何已知的证书颁发机构签名的,因此客户端(在此情况下为JDBC驱动程序)可能不信任它。为解决此问题,你可以:- 使用
verifyServerCertificate=false在连接字符串中跳过服务器证书验证。 - 使用由受信任的CA签名的证书,并在JDBC连接字符串中提供证书。
- 使用
-
不支持的加密协议或密码套件:
如你之前的错误堆栈显示,可能出现“无适当的协议”或“密码套件不适当”的错误。这通常意味着客户端和服务器之间存在加密协议或密码套件的不匹配。为解决这个问题,你可以检查服务器和客户端都支持的协议,并在连接字符串中明确指定它。 -
服务器未启用SSL:
如果MySQL服务器未配置或未启用SSL支持,但客户端尝试建立SSL连接,将导致连接失败。 -
性能考虑:
SSL连接会对性能产生轻微的影响,因为它需要额外的加密和解密步骤。对于高安全性需求的应用来说,这是可接受的,但对于不需要此级别安全性的应用,可能会选择不使用SSL。
解决方法:
- 如果你不需要加密连接,可以简单地将
useSSL=false设置在连接字符串中。 - 如果你确实需要加密连接,那么需要确保MySQL服务器已正确配置SSL,并且你的JDBC连接字符串包含所有必要的SSL参数。
结论
在配置MySQL的SSL连接时,很重要的一点是要确保服务器和客户端都正确配置,并且它们之间的配置是兼容的。这涉及到正确的证书管理、确保双方都支持的加密协议和密码套件,以及可能需要的其他设置。正确配置后,SSL可以为MySQL连接提供强大的安全保障。
相关文章:
linux部署项目, 报数据库连接不上错误
问题描述: sprinboot项目, 本地连线上数据库可以使用, springboot项目中java包的版本是8.0, 线上数据库是5.7, 但在将项目部署到服务器上的时候发现项目启动报错, 于是寻找问题, 发现是useSSLtrue导致的 出问题前的链接地址: url: jdbc:mysql://localhost:3306/ja…...
现有的vue3+ts+vite项目集成electron
效果图 什么时Electron Electron是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序框架。 Electron兼容Mac、Windows和Linux,可以构建出三个平台的应用程序。 现有的vue3项目集成Electron 安装依赖 原来有一个vue3+ts+vite+pnpm的项目,其中sub-modules是子项目,web是…...
线性代数的学习和整理8: 方阵和行列式相关(草稿-----未完成)
1.4.1 方阵 矩阵里,行数列数的矩阵叫做方阵方阵有很多很好的特殊属性 1.4.2 行列式 行列式是方阵的一种特殊运算如果矩阵行数列数相等,那么这个矩阵是方阵。行列数的计算方式和矩阵的不同只有方阵才有行列式行列式其实是,矩阵变化的一个面…...
Ubuntu vi 左下角没有提示
1 打开终端,输入以下命令 sudo gedit /etc/vim/vimrc.tiny 2 进入文件后,修改 set compatible 为set nocompatible,如下所示: " Vim configuration file, in effect when invoked as "vi". The aim of this "…...
Windows安装 Elasticsearch 教程
下载地址 Past Releases of Elastic Stack Software | Elastic 解压 解压完的样子 进入BIN目录 D:\Develop\elasticsearch\elasticsearch-7.12.0\bin 按住shift 鼠标右键 打开 powershell 窗口 查看ES版本 .\elasticsearch.bat --version 出现问题了 警告:不赞成…...
Dubbo 融合 Nacos 成为注册中心
快速上手 Dubbo 融合 Nacos 成为注册中心的操作步骤非常简单,大致步骤可分为“增加 Maven 依赖”以及“配置注册中心“。 增加 Maven 依赖 只需要依赖Dubbo客户端即可,关于推荐的使用版本,请参考Dubbo官方文档或者咨询Dubbo开发人员&#…...
kafka--kafka基础概念-ISR详解
kafka基础概念-ISR详解 主要是讲 主 往 从同步中的问题 当绿色P1接收到写入的数据,要同步到紫色的P1S1和P1S2 如何保证一致性呢? 使用In Sync Replicas 也就是ISR概念 为什么不一致的? 因为P1S1同步数据 可能花费 50ms P1S2可能花费60ms…...
《Kubernetes部署篇:Ubuntu20.04基于外部etcd+部署kubernetes1.24.16集群(多主多从)》
一、架构图 如下图所示: 二、环境信息 1、部署规划 主机名K8S版本系统版本内核版本IP地址备注k8s-master-631.24.16Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.63master节点 + etcd节点k8s-master-641.24.16Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.64master节点 + …...
音频解码及如何在Java实现
本人并不干这个,但是被迫下水了解了一下这个,稍微做了一下整理。再就是感觉现在网上以及ChatGPT在这方面给出的答案太水了,在此开辟一篇。无意放出代码,这里只介绍一些可能重要的点。 本来以为有了ChatGPT写这些就没有必要了&…...
Webshell 及检测绕过
webshell 概念 web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,WebShell是一种用来进行网站和服务器管理的脚本程序,webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途,但是由于webshell的功能比较强大࿰…...
Ubuntu22.4系统mongodb数据库安装
Ubuntu22.4系统mongodb数据库安装 1、打开终端并运行以下命令,以导入 MongoDB GPG 密钥: wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -2、添加 MongoDB 仓库到你的系统。根据你的 Ubuntu 版本,选择…...
Vue初识别--环境搭建--前置配置过程
问题一: 在浏览器上的扩展程序上添加了vue-devtools后不生效: 解决方式:打开刚加入的扩展工具Vue.js devtools的允许访问文件地址设置 问题二:Vue新建一个项目 创建一个空文件夹hrsone,然后在VSCode中打开这个空文件夹…...
数据在内存中的储存·大小端(文字+画图详解)(c语言·超详细入门必看)
前言:Hello,大家好,我是心跳sy😘,本节我们介绍c语言的两种基本的内置数据类型:数值类型和字符类型在内存中的储存方法,并对大小端进行详细介绍(附两种大小端判断方法)&am…...
Word怎么转换成PDF文档?多个Word转换成PDF步骤分享
word文档是一种非常好用的文件格式,可以帮助用户们很好的保存图片和文字内容,不过并不是只有word这一种文档类文件格式,还有一种pdf文档也深受用户们的欢迎,在工作或者学习过程中这两种文档是可以互相转换格式的,那么W…...
【C++习题集】-- 堆
(用于复习) 目录 树概念及结构 名词概念 二叉树概念及结构 特殊的二叉树 满二叉树 完全二叉树 运算性质 二叉树存储结构 顺序存储 链式存储 堆 - 顺序存储 堆的性质 堆的实现 堆的应用 堆排序 直接建堆法 树概念及结构 概念:…...
vue + vue-office 实现多种文件(docx、excel、pdf)的预览
支持多种文件( docx、excel、pdf)预览的vue组件库,支持vue2/3。也支持非Vue框架的预览。 github: 《仓库地址》 演 示: 《演示效果》 功能特色 一站式:提供docx、pdf、excel多种文档的在线预览方案,有它就够了简单:…...
30.Netty源码服务端启动主要流程
highlight: arduino-light 服务端启动主要流程 •创建 selector •创建 server socket channel •初始化 server socket channel •给 server socket channel 从 boss group 中选择一个 NioEventLoop •将 server socket channel 注册到选择的 NioEventLoop 的 selector •…...
ssh端口转发
在本地客户端操作: ssh远程连接一段时间会失效的问题 vim /etc/ssh_config或vim /etc/ssh/ssh_config 在末尾添加ServerAliveInterval 30,意思是30s会发送一次向服务器连接的请求,以保持会话始终在线 验证: 放一段时间不操作,…...
独立站SEO是什么意思?自主网站SEO的含义?
什么是独立站SEO优化?自建站搜索引擎优化是指什么? 独立站SEO,作为网络营销的重要一环,正在逐渐引起人们的关注。在当今数字化时代,独立站已经成为许多企业、个人宣传推广的首选平台之一。那么,究竟什么是…...
Android JNI系列详解之NDK和JNI介绍
一、前提 针对自己在Android JNI和NDK这块技术的空白知识点,进行这个JNI系列的学习,记录这一阶段的学习。学习的主要步骤:从概念原理解析--->边学边实战--->从易到难,循序渐进。(学习这一阶段的前提:需要有Android开发基础) 学完JNI-NDK开发系列,达到的目的有:…...
告别云服务器:手把手教你用QEMU在Ubuntu 18.04上搭建专属内核调试环境
从零构建QEMU内核调试环境:Ubuntu 18.04下的UEFI开发实战手册 当深夜的调试灯亮起,你是否还在为云服务器高昂的费用和网络延迟苦恼?本文将带你用一台普通Ubuntu机器,打造媲美物理机的内核开发环境。不同于常规教程,我…...
别再手动建模了!用SolidWorks插件5分钟把三维模型导入Simscape(附R2017a版保姆级教程)
从SolidWorks到Simscape:三维模型高效仿真全流程指南 在工程设计与仿真领域,时间就是竞争力。传统的手动建模方式不仅耗时费力,还容易引入人为误差。想象一下,当你花费数小时在Simscape中重建一个复杂的SolidWorks装配体时&#x…...
数学全景地图6---数学的内容、方法和意义,50年代苏联的数学全景大书Big Picture。
0、数学--它的内容、方法和意义。Mathematics--Its Content, Methods, and Meaning.----俄文原版于1956年。英文翻译版于1963年。中文翻译版于1950年代。----在国内的《数学大辞典》中,特别指出这本书《数学-它的内容方法和意义》,是当时的数学辞书之一。…...
【谷歌内部培训材料流出】:Gemini与Workspace Admin Console深度绑定的5类企业级策略配置
更多请点击: https://intelliparadigm.com 第一章:Gemini与Workspace Admin Console深度集成的底层架构解析 Gemini 与 Workspace Admin Console 的深度集成并非简单的 API 调用叠加,而是基于统一身份上下文、双向实时状态同步和策略驱动控制…...
智能体集成德国铁路实时信息:无需API的Node.js工具箱openclaw-bahn详解
1. 项目概述:一个为智能体打造的德国铁路工具箱如果你经常在德国乘坐火车,或者像我一样,需要为一些自动化流程(比如智能体)集成实时交通信息,那么你肯定对德国铁路(Deutsche Bahn, DB࿰…...
Yarbo 机器人割草机调整策略:远程后门访问功能将设为可选安装
Yarbo 调整远程后门访问功能,设为可选安装Yarbo 原有的远程后门访问功能可能使不法分子通过互联网对机器人进行重新编程。如今,该公司计划彻底移除这一功能,联合创始人肯尼斯科尔曼承诺,客户将能够决定是否一开始就安装该功能&…...
AI智能体交互体验优化:从对话管理到个性化记忆的工程实践
1. 项目概述:从“Agent Experience”看智能体交互体验的演进最近在GitHub上看到一个挺有意思的项目,叫“agent-experience”,作者是dhruvvsukhadia。光看这个名字,可能很多人会有点懵——这到底是做什么的?是开发AI智能…...
基于RAG与向量数据库的本地化个人知识库构建实践
1. 项目概述:一个为个人量身定制的知识库构建引擎 如果你和我一样,每天在浏览器、笔记软件、PDF文档和各种聊天记录之间疲于奔命,试图抓住那些一闪而过的灵感和零散的知识点,那么你肯定理解“知识碎片化”的痛苦。我们收藏了无数…...
Funannotate数据库安装终极指南:解决HPC环境中的常见问题
Funannotate数据库安装终极指南:解决HPC环境中的常见问题 【免费下载链接】funannotate Eukaryotic Genome Annotation Pipeline 项目地址: https://gitcode.com/gh_mirrors/fu/funannotate Funannotate作为一款专业的真核生物基因组注释流程工具,…...
新手工程师别慌!从零开始搞定一颗新Sensor的完整调试手册(附常见问题排查清单)
新手工程师别慌!从零开始搞定一颗新Sensor的完整调试手册 刚拿到一颗新Sensor时,面对厚厚的Datasheet和复杂的原理图,很多新手工程师都会感到无从下手。本文将带你系统性地梳理整个Sensor调试流程,从关键参数提取到问题排查&#…...
