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

这篇具有很好参考价值的文章主要介绍了mysql开启ssl以及如何创建证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

进入后输入\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
文章来源地址https://www.toymoban.com/news/detail-509735.html

到了这里,关于mysql开启ssl以及如何创建证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云服务器如何部署ssl证书即https的设置,以及为ip部署ssl

    阿里云ecs服务器 linux宝塔界面 ssl证书 nginx web服务器 1. ssl全称为ecure Sockets Layer 安全套接字协议) 它的作用就是让网站的http协议改为具有加密传输功能的https… 2. 关于ssl如何在阿里云申请 ,我不再赘述,已有大量类似的文章可供参考。

    2024年02月02日
    浏览(55)
  • Mysql5.7开启SSL并且支持Springboot客户端验证

    前提:已安装好数据库,这里以mysql5.7为例 例如:数据库用户名root   密码:123456 数据库data目录:/usr/local/mysql/data  登录mysql命令:mysql -uroot -p  输入密码:123456 一、查看服务端mysql环境 1.查看是否开启了ssl,\\\"have_ssl\\\" 为YES的时候,数据库是开启加密连接方式的 2.查看数据库版

    2024年02月09日
    浏览(43)
  • 开启EMQX的SSL模式及SSL证书生成流程

    首先:需要安装Openssl 以下是openssl命令 生成CA证书 生成服务端证书 生成client证书 生成如下文件: 将生成的CA证书,Server证书,Server私钥放到etc/certs目录 证书存放地址 listener.ssl.external.keyfile = etc/certs/yunding/IoTServerEmq.key listener.ssl.external.certfile = etc/certs/yunding/IoTServerEmq.crt list

    2024年02月10日
    浏览(46)
  • 群晖添加SSL证书,开启https

    登录阿里云,打开控制台,找到SSL证书,前提是你已经有了一个域名,并已经将域名映射到了nas上了。 选择SSL证书,免费证书,创建证书 证书申请 输入对应资料,等待审核,审核通过之后,下载证书。 下载申请好的证书 选择下载的类型,一般使用nginx、或者Apache的证书 下

    2024年02月15日
    浏览(66)
  • 群晖添加SSL证书,开启hhttps

    登录阿里云,打开控制台,找到SSL证书,前提是你已经有了一个域名,并已经将域名映射到了nas上了。 选择SSL证书,免费证书,创建证书 证书申请 输入对应资料,等待审核,审核通过之后,下载证书。 下载申请好的证书 选择下载的类型,一般使用nginx、或者Apache的证书 下

    2024年02月11日
    浏览(122)
  • SpringBoot配置SSL证书,开启HTTPS安全访问!!!

    一、前言 二、SpringBoot中配置SSL 1、环境 2、客户端单向认证服务端代码实战-PFX格式的证书 3、HTTP 转HTTPS 通过HTTP协议传输数据,并不会对数据进行加密,所以存在着一定的风险,容易被抓包破解数据,而且现在各种浏览器对使用HTTP协议的网站也会提示不安全。通过将HTTP协议

    2024年02月11日
    浏览(50)
  • 东方通TongWEB添加Https证书,开启SSL

    购买证书 crt转换jks证书以及tomcat部署https访问域名操作步骤 将crt证书转换成jks 通过访问在线链接:https://www.myssl.cn/tools/merge-jks-cert.html ,使用SSL工具 crt转换jks证书以及tomcat部署https访问域名操作步骤可参考 https://blog.csdn.net/HX13190042/article/details/102822647 crt转为p12证书 openssl pkcs

    2024年04月27日
    浏览(47)
  • MySQL 开启配置binlog以及通过binlog恢复数据

       binlog是MySQL sever层维护的一种二进制日志,binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE、DROP等)以及表数据修改(INSERT、UPDATE、DELETE、TRUNCATE等)的二进制日志。不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。 作用主要有: 主从复制:在

    2024年02月03日
    浏览(59)
  • Docker安装emqx详解(配置SSL证书、开启WSS、鉴权)

    EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。 1 端口介绍 1883:MQTT 协议端口 8084:MQTT/SSL 端口 8083:MQTT/WebSocket 端口 8080:HTTP API 端口 18083:Dashboard 管理控制台端口 2 拉取镜像 3 启动临时容器 其他小知识 选项 选项简写 说明 –detach -d 在后台运行容器,

    2023年04月16日
    浏览(44)
  • MySql5.6版本开启慢SQL功能-本次采用永久生效方式

    开启 MySQL 的慢查询日志(Slow Query Log)可以帮助你分析和优化数据库中的慢查询语句。通过记录执行时间超过阈值的 SQL 查询,慢查询日志能够提供以下用途: 性能优化 : 慢查询日志能够帮助你找出执行时间较长的 SQL 查询语句,以及执行次数较多的查询。通过分析这些慢查

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包