自己网站的登录api怎么做,wordpress 淘宝客采集插件,广州网站优化方式,网络前端工程师应客户监管部门要求 mysql必须要启用SSL。由于mysql安装在window上#xff0c;启用过程中遇到了不少的坑#xff0c;在此记录一下。
安装openssl
如果已经安装过可跳过此步 https://slproweb.com/download/Win64OpenSSL-1_1_1w.msi复制到浏览器下载后安装即可。如果需要其他…应客户监管部门要求 mysql必须要启用SSL。由于mysql安装在window上启用过程中遇到了不少的坑在此记录一下。
安装openssl
如果已经安装过可跳过此步 https://slproweb.com/download/Win64OpenSSL-1_1_1w.msi复制到浏览器下载后安装即可。如果需要其他的openssl版本下载地址参考 https://slproweb.com/products/Win32OpenSSL.html。
生成mysql ssl rsa密钥
创建目录d:\mysql_ssl用来保存生成的密钥然后进入mysql安装目录 执行以下命令 mysql_ssl_rsa_setup.exe -d D:\mysql_ssl这一步很坑 由于对openssl了解不深执行上面的命令报了如下错误。在网上查了资料少之又少。
D:\devs\mysql-5.7.27-winx64\binmysql_ssl_rsa_setup.exe -d D:\mysql_ssl
Ignoring -days; not generating a certificate
Cant open Z:/extlib/_2020Q3__/ssl/openssl.cnf for reading, No such file or directory
8492:error:02001003:system library:fopen:No such process:crypto/bio/bss_file.c:69:fopen(Z:/extlib/_2020Q3__/ssl/openssl.cnf,r)
8492:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:76:
2023-10-19 10:42:47 [ERROR] Error generating ca_key.pem and ca_req.pem最后根据错误信息 研究了好一半天 加了openssl的环境变量后再执行以上命令问题得到了解决。真的是…
set OpenSSL_HOMEC:\Program Files\OpenSSL-Win64\bin
set OPENSSL_CONFC:\Program Files\OpenSSL-Win64\bin\openssl.cfg成功生成mysql_ssl_rsa命令的效果如下
D:\devs\mysql-5.7.27-winx64\binmysql_ssl_rsa_setup.exe -d D:\devs\mysql-5.7.27-winx64\mysql_ssl
Ignoring -days; not generating a certificate
Generating a RSA private key
......
...........
writing new private key to ca-key.pem
-----
Ignoring -days; not generating a certificate
Generating a RSA private key
.................................................................................................................................
............................
writing new private key to server-key.pem
-----
Ignoring -days; not generating a certificate
Generating a RSA private key
......................................................................................................................................
..................
writing new private key to client-key.pem
-----生成了文件情况列表
ca.pem: CA证书ca-key.pemCA证书密钥client-cert.pem客户端使用的证书client-key.pem客户端使用的密钥private_key.pem私钥public_key.pem公钥server-cert.pem服务端使用的证书server-key.pem服务端使用的密钥
配置mysql ssl 证书
在my.ini文件mysqld节点下添加配置
#服务器CA证书
ssl-ca D:\\mysql_ssl\\ca.pem
#服务端使用的证书
ssl-cert D:\\mysql_ssl\\server-cert.pem
#服务端使用的密钥
ssl-keyD:\\mysql_ssl\\server-key.pem重启mysql服务后 查看 show variables like %ssl%;mysql show variables like %ssl%;
---------------------------------------------------------------------------
| Variable_name | Value |
---------------------------------------------------------------------------
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | D:\mysql_ssl\ca.pem |
| ssl_capath | |
| ssl_cert | D:\mysql_ssl\server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | D:\mysql_ssl\server-key.pem |
---------------------------------------------------------------------------此时能看到 have_openssl have_ssl 都已经变为YES 表示SSL开启成功。
客户端使用证书连接MySQL数据库验证
mysql -uroot -proot --ssl-certD:\mysql_ssl\client-cert.pem --ssl-keyD:\mysql_ssl\client-key.pem使用mysql命令 带参数–ssl-cert --ssl-key指定mysql客户端证书和客户端密钥进行登录Mysql登录成功表示验证SSL连接完成。
另外如果需要强行验证用户必须使用SSL连接的话 在创建用户的时候加上参数 require SSL 表示必须SSL。
创建用户指定require SSL 示例如下
grant all on *.* to userssl% identified by userssl require SSL;