IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【Mysql】Mysql开启ssl协议及Java客户端配置搭建教程 -> 正文阅读

[网络协议]【Mysql】Mysql开启ssl协议及Java客户端配置搭建教程

1. 安装openssl

2.生成证书并设置权限

mysql_ssl_rsa_setup --datadir=/data/database/mysql

ca-key.pem             # CA 私钥
ca.pem                    # 自签的CA证书,客户端连接也需要提供
client-cert.pem        # 客户端连接服务端需要提供的证书文件
client-key.pem         #客户端连接服务端需要提供的私钥文件
private_key.pem      #私钥公钥的私有成员
public_key.pem        #私钥公钥的共有成员
server-cert.pem       #服务端证书文件
server-key.pem       #服务端私钥文件

权限设置
chown mysql:mysql /data/database/mysql -R

3.开启ssl配置

[root@ ~]# vim /etc/my.cnf
#ssl
ssl-ca=/data/sqldata/ca.pem
ssl-cert=/data/sqldata/server-cert.pem
ssl-key=/data/sqldata/server-key.pem

4.验证mysql是否开启ssl

show global variables like ‘%ssl%’;

5.创建开启ssl用户并赋予权限

CREATE USER ‘admin’@’%’ IDENTIFIED BY ‘123456’ REQUIRE SSL;
GRANT ALL PRIVILEGES ON . TO ‘admin’@’%’’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

6.基于mysql登录并验证用户是否开启ssl

登录

mysql -h ip -uadmin -p --ssl-cert=/data/sqldata/client-cert.pem --ssl-key=/data/sqldata/client-key.pem

验证

status;

在这里插入图片描述

7.基于 ca.pem证书生成java客户端可识别的证书密码

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

8.java客户端设置

jdbcurl:
jdbc:mysql://ip:3306/data?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&verifyServerCertificate=true&requireSSL=true&sslMode=verify_ca&trustCertificateKeyStoreUrl=file:C:/Users/20445/IdeaProjects/certificate/truststore&trustCertificateKeyStorePassword=123456

注意事项

使用过程中注意驱动使用的TLS版本是否是mysql数据库支持的版本

查看数据库tls支持的版本

SHOW GLOBAL VARIABLES LIKE ‘tls_version’;

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:59:52  更:2022-03-10 23:01:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 13:20:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码