windows上mysql5.7开启ssl

一、首先查看是否开启ssl

SHOW VARIABLES LIKE '%ssl%'

windows上mysql5.7开启ssl_第1张图片

DISABLED表示未开启 

二、安装openssl

1.源码安装

官网 https://www.openssl.org/ 下载源码,根据网上的教程完成安装。

2.其他人做的安装包安装

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

我安装的是1.1.1q

 

三、生成证书和密钥

进入mysql/bin目录下,执行mysql_ssl_rsa_setup生成生成证书和密钥

通过-d或者--datadir可以指定数据文件目录

mysql_ssl_rsa_setup.exe -d D:/Database/mysql

windows上mysql5.7开启ssl_第2张图片

 

windows上mysql5.7开启ssl_第3张图片 

 

其中

ca.pem: CA证书

ca-key.pem:CA证书密钥

client-cert.pem:客户端使用的证书

client-key.pem:客户端使用的密钥

private_key.pem:私钥

public_key.pem:公钥

server-cert.pem:服务端使用的证书

server-key.pem:服务端使用的密钥

四、配置my.ini添加ssl

windows上mysql5.7开启ssl_第4张图片

配置完成后重启mysql,此时再查看变量,发现已经开启ssl,并且设置了证书信息

windows上mysql5.7开启ssl_第5张图片

 

五、测试连接

1.navicat测试

windows上mysql5.7开启ssl_第6张图片

 2.springboot连接测试

首先将ca.pem和client-cert.pem转为jks

根证书转换

openssl pkcs12 -export -in ca.pem -inkey ca-key.pem -out ca.p12 -passout pass:123456

keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore ca.jks -deststoretype PKCS12  -srckeystore ca.p12 -srcstoretype PKCS12 -srcstorepass 123456

client证书转换

openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -out client.p12 -passout pass:123456

keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore client.jks -deststoretype PKCS12  -srckeystore client.p12 -srcstoretype PKCS12 -srcstorepass 123456

springboot添加ssl配置

ssl:
  path: D:/Database/mysql
  trustCertificateKeyStoreUrl: file:${ssl.path}/ca.jks
  trustCertificateKeyStorePassword: 123456
  clientCertificateKeyStoreUrl: file:${ssl.path}/client.jks
  clientCertificateKeyStorePassword: 123456
  #      config: false
  config: "true&verifyServerCertificate=true&requireSSL=true\
  &trustCertificateKeyStoreUrl=${ssl.trustCertificateKeyStoreUrl}\
  &trustCertificateKeyStorePassword=${ssl.trustCertificateKeyStorePassword}\
  &clientCertificateKeyStoreUrl=${ssl.clientCertificateKeyStoreUrl}\
  &clientCertificateKeyStorePassword=${ssl.clientCertificateKeyStorePassword}"

windows上mysql5.7开启ssl_第7张图片

 再将整个配置到useSSL

如果正常启动表示设置成功。


你可能感兴趣的:(mysql,数据库)