MYSQL版本8.0.32,默认是开启ssl的,同时也是自带证书的在/var/lib/mysql/下

jdbc连接Mysql数据库需要使用SSL时,可以按一下步骤进行设置:

前置条件(可跳过):

1.新建SSL用户

CREATE USER 'qq'@'%' IDENTIFIED BY '你的密码';GRANT ALL ON *.* TO 'qq'@'%';ALTER USER 'qq'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
caching_sha2_password

2.对用户使用ssl

ALTER USER 'qq'@'%' REQUIRE SSL;FLUSH PRIVILEGES;

3.查看用户情况

SELECT ssl_type From mysql.user Where user="qq"

4取消ssl

update user set ssl_type='' where user='qq';FLUSH PRIVILEGES;

5.准备SSL证书等

6.查看是否启用ssl

show variables like '%ssl%';have_openssl   YES
have_ssl    YES

MYSQL验证SSL

mysql --ssl-ca=/var/lib/mysql/ca.pem --ssl-cert=/var/lib/mysql/client-cert.pem --ssl-key=/var/lib/mysql/client-key.pem --ssl-cipher=AES128-SHA -u tq -p

进入后输入\s查看ssl加密方式,如果有则为加密ssl登录

jdbc接入

1、Mysql服务器开启SSL配置

2、所在的机器导入ca证书,导入到truststore 文件

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

直接导入到JDK导入证书(部署到本机)

 在cmd命令中直接执行该命令
keytool -import -trustcacerts -v -alias Mysql -file "C:\ProgramData\MySQL\MySQL Server 8.0\Data\ca.pem" -keystore "C:\Program Files\Java\jdk1.8.0_192\jre\lib\security\cacerts"

这样做,自己一个人开发,一点问题都没有。但是放到生产就问题大了。

3.查看本地证书

keytool -list -keystore truststore

4、mysql连接设置证书

设置useSSL=true

配置trustCertificateKeyStoreUrl为证书的路径

配置trustCertificateKeyStorePassword为第2步生成的mypassword

本地文件:

jdbc:mysql://127.0.0.1:3306/test?useSSL=true&trustCertificateKeyStoreUrl=file:path_to_truststore_file&trustCertificateKeyStorePassword=mypassword

{“allowPublicKeyRetrieval”: “true”,“useSSL”:“true”,“trustCertificateKeyStoreUrl”:“file:I:\REDEMPTION\ca.pem”,“trustCertificateKeyStorePassword”:“mypass”}

网络文件:

"jdbc:mysql://ip:3306/test?useUnicode=true&useSSL=true&trustCertificateKeyStorePassword=123456&serverTimezone=Asia/Shanghai&trustCertificateKeyStoreUrl=http://localhost:8080/key

{“allowPublicKeyRetrieval”: “true”,“useSSL”:“true”,“trustCertificateKeyStoreUrl”:“http://localhost:7776/truststore”,“trustCertificateKeyStorePassword”:“mypass”}

参考:

[1] https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html

导入证书
https://www.clzg.cn/article/309424.html
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
https://blog.csdn.net/qq_47433566/article/details/123581123
mysql使用jdbc连接增加ssl认证
https://blog.csdn.net/qq_42430287/article/details/123733498
新增证书
http://www.884358.com/mysql-ssl/
自建CA生成证书详解
https://blog.csdn.net/weixin_40228200/article/details/121895791
docker mysql8使用SSL及使用openssl生成自定义证书
https://blog.csdn.net/weixin_43933728/article/details/127338271

mysql开启ssl以及如何创建证书相关推荐

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

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

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

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

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

    Mysql开启ssl加密协议及Java客户端配置操作指南 Mysql配置 验证Mysql开启SSL Java客户端操作 生成证书密码 配置数据库连接 工具配置 Mysql配置 Mysql需要配置对应的 ...

  4. MySQL开启ssl证书

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

  5. MySQL开启SSL的利与弊

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

  6. MYSQL 开启 SSL

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

  7. Mysql 开启ssl连接

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

  8. mysql数据库开启ssl_MySQL 5.7.x开启SSL连接

    1 理论部分 1.1 SSL的理解 1.1.1 基本概念 SSL即Secure Socket Layer)- 安全套接字层(由Netscape提出 1.1.2 SSL的作用 SSL - 实现客户端和服 ...

  9. MySQL配置SSL加密连接

    环境: OS:centos7 MySQL: 5.7.33 一.MySQL开启ssl连接支持 查看是否开启 登录MySQL,运行如下命令: SHOW VARIABLES LIKE '%ssl%'; 如下 ...

最新文章

  1. display vs visibility
  2. Camel中的几个重要概念之Routes, RouteBuilders 和 Java DSL
  3. JavaSE 国际化 简单例子
  4. html 只能输入正数,vue 限制input只能输入正数
  5. C++安全方向(三):3.6 SHA2原理分析和比特币挖矿,以及代码演示
  6. java 判断qq_检测QQ号码是否存在
  7. 暴风雨前的耳聋:普京在9·11前两天致电布什,警告可能发生恐袭
  8. java 数组存入数据库_哔站播放量高达三百万的Java视频教程,如此惊人,还不来学?...
  9. 计算机没鼠标怎么,电脑没鼠标怎么开启系统
  10. 比特大陆发布终端 AI 芯片 端云联手聚焦安防
  11. 游戏程序常规设计模式
  12. FlashFXP命令行
  13. 快递鸟智选物流API接口平台对接分享实例
  14. 使用Wamp在win7上搭WEB服务器
  15. @keyup.enter失效问题
  16. 《Tomcat内核设计剖析》勘误表
  17. 李航 统计学习方法 课后习题答案 第二版
  18. 骇客白访谈——不要做理想主义者,要做一个实干家——《调试者说》播客——许友昌
  19. Zemax自学---1(基础知识)
  20. 移动叔叔工具箱android,真正免root的移动叔叔工具箱详细使用教程

热门文章

  1. 挖坑记录~lucene基础
  2. 归一化,正则化等梯度下降优化详解(4)机器学习
  3. UDP打洞(成功打洞)
  4. 使用NOKIA OVI MAP作为手机应用程序的基础地图
  5. [原创歌词]网络爱人
  6. 互联网光鲜的背后,其实是 “年轻人的战场,中年人的坟墓”
  7. uni-app无限滚动
  8. PATH 环境变量查看和修改
  9. CAD教程:CAD布尔运算命令应用实例
  10. 一个公共的小程序广告管理模块