Mysql开启ssl加密协议及Java客户端配置操作指南

  • Mysql配置
    • 验证Mysql开启SSL
  • Java客户端操作
    • 生成证书密码
    • 配置数据库连接
  • 工具配置

Mysql配置

Mysql需要配置对应的ssl账号密码,同时对该账号开启ssl验证,具体操作由DBA完成,这里我就不再赘述,作为Java客户端只需要拿到DBA配置的账号对应的ca.pem证书信息即可开启后面的操作。

验证Mysql开启SSL

验证命令

show global variables like '%ssl%';

验证结果如图


开启ssl协议之后可以看到对应Mysql服务器的证书路径,拿到证书文件后放在windows本地目录等待下一步操作

Java客户端操作

这里我测试本地windows环境的操作,linux的操作基本相同,只是文件路径的区别而已

生成证书密码

首先需要基于上一步Mysql配置完ssl账户生成对应的ca.pem证书,通过jvm的keytool工具将ca.pem证书放入到truststore仓库中;
windows操作系统可以直接在上一步存放ca.pem证书的目录通过快捷键【Ctrl+Shift+鼠标右键】唤起Powershell窗口,执行命令

keytool -importcert -alias MySQLCACert -file ca.pem -keystore truststore -storepass 123456

其中:truststore 是存储证书的密钥库,123456是密钥库口令

生成之后可以查看一下是否生成成功,操作命令

keytool -list -keystore truststore

输入密钥库口令之后可以看到证书信息

回到唤起Powershell窗口的文件夹(即存放ca.pem)的文件夹下可以看到生成的证书密钥库文件truststore,如图

这样证书密码就算生成成功了,证书密码路径为: E:\2022mycomputer\mysql_cert\truststore

配置数据库连接

数据库连接如下

datasource.masterUrl=jdbc:mysql://127.0.0.1:3306/ei_app?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&verifyServerCertificate=true&requireSSL=true&sslMode=verify_ca&trustCertificateKeyStoreUrl=file:E:/2022mycomputer/mysql_cert/truststore&trustCertificateKeyStorePassword=123456

参数说明:

配置完成之后再使用对应ca.pem证书的账户密码即可以正常连接Mysql了

工具配置

这里举例工具为navicat ,个人测试的navicat 15可以通过ssl连接数据库,navicat 11 连接不成功,连接操作如图

配置SSL证书信息

配置完成之后点击连接测试,如果你当前的navicat版本支持SSL连接的话会提示

如果配置没有问题但是连接测试提示失败的,那就是当前版本的navicat 不支持SSL连接
![](https://img-blog.csdnimg.cn/2b889277d57a492f85c3cac02004d4ee.png)
可以升级navicat到高的版本即可.
参考文章:https://developer.aliyun.com/article/950161

Mysql开启ssl加密协议及Java客户端配置操作指南相关推荐

  1. mysql ssl jdbc_【MySQLSSLJAVA】关于MySQL开启SSL后,jdbc的配置

    一.MySQL服务端配置 # vim   /etc/my.cnf ########################################### [mysqld] require_secure ...

  2. MySQL使用ssl连接,java通过ssl连接数据库

    java 通过ssl连接数据库 MySQL使用ssl连接,java通过ssl连接数据库 MySQL驱动与MySQL版本的关系 什么是SSL? MySQL5.7.34 ssl配置文件和参数 MySQL服 ...

  3. Docker MySQL开启SSL加密传输方案

    Docker MySQL开启SSL加密传输方案 产品:Docker MySQL 版本: 5.6 环境: CentOS Linux 7 文章目录 Docker MySQL开启SSL加密传输方案 方案背景 ...

  4. MySQL开启SSL的利与弊

    最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的.本篇主 ...

  5. MySQL开启ssl证书

    由于在主从复制中数据是明文的,所以就大大降低了安全性 因此需要借助ssl加密来增加其复制的安全性 5.6版本之上 主默认含有证书 MySQL 5.7.18 加密连接mysql_ssl_rsa_setu ...

  6. mysql开启ssl以及如何创建证书

    MYSQL版本8.0.32,默认是开启ssl的,同时也是自带证书的在/var/lib/mysql/下 jdbc连接Mysql数据库需要使用SSL时,可以按一下步骤进行设置: 前置条件(可跳过): 1. ...

  7. MYSQL 开启 SSL

    mysql5.7以上开启并配置 ssl 超级简单的教程 1. 执行以下命令: ##### mysql5.7 提供的 msyql_ssl_rsa_setup 功能,能直接生成ssl密钥和秘银(该文件一般 ...

  8. Mysql 开启ssl连接

    注意!本文是针对Mysql 5.7版本以上数据库,版本较低者可看这一篇博客:https://www.cnblogs.com/zhoujinyi/p/4191096.html 1. 检查当前SSL / ...

  9. win2016开启ntp_WindowsServer2016NTP服务端和客户端配置【NTP时间同步服务器】

    目标:A.B两台Windows Server 2016系统的服务器.B要做为NTP服务器使用,而只有A可以连到互联网.所以先将A作为NTP服务端,再将B作为既是服务端又是客户端.其它设备同B服务器同步 ...

最新文章

  1. debian php redis,debian7.7环境下 源码安装redis以及phpredis扩展
  2. Node.js 部署免费/自动续订 HTTPS
  3. 困扰多年的PCB散热问题终于可以解决了!
  4. Skywalking-10:Skywalking查询协议——GraphQL
  5. sqlite的增删改查操作
  6. 数字信号处理实验三 FIR数字滤波器设计与软件实现
  7. 【第三方对接】使用 永中Office 实现在线 Office 整合到 Spring 项目
  8. 2023计算机毕业设计SSM最新选题之javaAI学院教务信息管理系统lx9v9
  9. 在win11和win10的edge浏览器运行flash网址设置详解
  10. 掌握通过计算机实现香农编码,信息论编码实验二香农编码
  11. 认知水平高下定义及提高认知水平的方法
  12. jQuery笔记——UI
  13. iOS中的时间和日期
  14. JavaWeb 宠物领养管理系统实现(源码分享)
  15. 三十岁——男人创业的最佳时机
  16. gpu虚拟 服务器,5种GPU虚拟化技术的详细资料讲解
  17. AutoCAD2005中文版【32位】下载地址 仅供学习交流
  18. Vim查找替换操作 --- 查找和替换
  19. 【慎入】秘境探索之一个.NET 对象从内存分配到内存回收
  20. LIMS实验室管理系统包括哪些功能,如何实现检测全程无纸化

热门文章

  1. MySQL底层执行原理详解
  2. 前端面试必问(后台管理系统的权限控制与管理)
  3. Java读取.ipa程序下info.plist
  4. python框架django书籍_【2020Python修炼记】web框架之 Django的ORM语法
  5. Excel中如何获得每月的第一天和每月的最后一天的数据,以及做月环比
  6. 静默鸿蒙是什么意思,静默鸿蒙2011
  7. 继索罗斯之后,美国传奇家族洛克菲勒入局加密货币
  8. input 标签取消readOnly属性
  9. matlab拟合函数 自定义,MATLAB 自定义函数拟合
  10. 漏洞挖掘之赏金猎人的方法论