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

2023-05-16

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql开启ssl以及如何创建证书 的相关文章

随机推荐

  • VTK——自定义三维裁剪Widget,恢复Widget(任意形状,圆形,矩形裁剪)vtkCustomPaintWidget

    裁剪图标可以通过键盘上下键切换 xff0c 裁剪模式可以通过键盘左右键切换 xff0c 裁剪区域的显示 xff0c 可以显示为Mask或者显示为Contour边界 xff0c 测试效果如下
  • iOS UITableViewCell高度自适应

    UITableViewCell高度自适应 iOS8之后 我们只需要设置这两句代码之后 xff0c 即可放心的往cell的控件里面加上内容 xff0c cell会根据内部所有控件的高度动态的计算自己的高度从而显示出来 tableView es
  • 记一次vncServer的离线安装经历

    记一次vncServer的离线安装经历 背景 xff1a 需要在一台服务器上面装Oracle xff0c 但是服务器并不能接触到 xff0c 所以只能在客户端进行远程ssh操作 首先根据我以往装Oracle的经验 xff0c 先把安装包这些
  • debian 修改桌面背景

    64 桌面背景 push 图片到对应目录替换 xff1a adb push 图片 usr share desktop base active theme wallpaper contents images 64 当前语言查看 cat etc
  • 【计算机图形学基础教程】MFC基本绘图函数2

    MFC基本绘图函数 绘图工具类 CGdiObject类 xff1a GDI绘图工具的基类CBitmap类 xff1a 封装了GDI画刷 xff0c 可以选作设备上下文的当前画刷 xff0c 用于填充图形的内部CFont类 xff1a 封装了
  • thrift安装及示例

    1 简介 Apache Thrift软件框架 xff08 用于可扩展的跨语言服务开发 xff09 将软件堆栈与代码生成引擎结合在一起 xff0c 它有自己的跨机器的通信框架 xff0c 并提供一套库 它是一个代码生成器 xff0c 按照它的
  • you-get库二开,带UI界面的下载器

    you get库二开 带UI界面的下载器 span class token comment coding utf 8 span span class token comment Form implementation generated f
  • 工厂方法模式【Python篇】

    前言 在 设计模式 一书中工厂模式提到了 xff1a 工厂方法模式 xff08 Factory Method xff09 抽象工厂模式 xff08 Abstract Factory xff09 但是在实际过程中还有一种工厂模式经常被使用 x
  • docker安装gitlab 教程详解

    文章目录 前言一 环境处理二 docker部署gitlab三 调整gitlab配置1 配置克隆项目时所需2 root所需 参考 前言 环境 xff1a 1 xff1a Linux dnsserver moa kdzl cn 3 10 0 6
  • 问题解决:consider to specify kernel configuration cache directory through OPENCV_OCL4DNN_CONFIG_PATH par

    在使用Openpose代码运行的时候 xff0c 提示 xff1a consider to specify kernel configuration cache directory through OPENCV OCL4DNN CONFIG
  • zabbix监控平台搭建,及监控华为S5735S系列交换机和2288hv5服务器

    提要 无监控不运维 xff01 告别 救火员 的运维 二次搭建zabbix了 xff0c 这次打算以zabbix 集团基础硬件为主 43 prometheus k8s 43 微服务集群为主 43 grafana dashbroad展示 xf
  • Selenium 常用API大全(一篇就够)

    Selenium Crawl API xff08 一篇就够 xff09 万字长文整理不易 xff0c 希望对各位有所帮助 xff0c 欢迎大家一键三连 xff0c 点赞收藏加关注 同时也欢迎大家交流分享 xff0c 共同学习互相进步 xff
  • CV和NLP的区别

    本质 xff08 根 xff09 上没有区别 xff0c 都是信息信号处理 xff0c 都是高维信号的分解和组合 xff0c 但是信号的结构特征有区别 xff0c 所以需要不同的策略来挖掘数据信息 xff0c 即使用不同的分解和组合策略 x
  • 【Linux学习笔记】Linux环境搭建Maven私服

    Linux环境搭建Maven私服 一 概要说明二 搭建Nexus3 X xff08 3 18 xff09 2 1 下载Nexus2 2 解压Nexus2 3 启动Nexus2 3 1 创建一个nis用户来启动nexus2 3 2 修改nex
  • Win10喇叭图标出现红叉提示"未安装任何音频输出设备"

    如果你按网上搜的各种方法都试了还是没有声音 xff0c 那么就 1 关机 xff1b 2 拔掉所有的线 xff0c 包括电源线 xff1b 3 长按开机键 15s 重复三次 4 插上电源 xff0c 开机 xff08 此方法适用于我的笔记本
  • C语言提供的线程/进程间同步(锁)机制

    目录 一 C语言提供的线程间同步机制 1 互斥体 xff08 Mutex xff09 2 读写锁 xff08 read write locks xff09 3 条件变量 xff08 conditional variables xff09 4
  • vue 3.0 使用axios

    一 安装axios xff0c vue axios 使用yarn span class token operator span yarn add axios yarn add vue span class token operator sp
  • 深度学习CV(基础理论知识)

    Python 解释性语言 1 tuple元组 xff1a 定义一个只有一个元素的tuple xff0c 必须加逗号 2 幂 xff1b 整除 3 机器学习常用库 numpy xff08 科学计算 xff0c 数据分析 xff09 panda
  • sublime 写C++程序

    sublime 配置 下载 安装sublime安装编译器配置g 43 43 环境变量配置sublime写一个hello world 程序其它的编译build命令 sublime 配置 下载 安装sublime https www subli
  • mysql开启ssl以及如何创建证书

    MYSQL版本8 0 32 xff0c 默认是开启ssl的 xff0c 同时也是自带证书的在 var lib mysql 下 jdbc连接Mysql数据库需要使用SSL时 xff0c 可以按一下步骤进行设置 xff1a 前置条件 xff08