MySQL版本为8.0.28
1.登录MySQL确认是否开启
mysql > SHOW global VARIABLES LIKE 'have_%';
+---------------+----------+
| Variable_name | Value |
+---------------+----------+
| have_openssl | YES |
| have_ssl | YES |
#如上两个参数为yes,则表示已开启ssl功能
2.查看以及生成证书文件
ca-key.pem:CA证书私钥文件,用于生成SSL连接所需的服务器和客户端证书。
ca.pem:CA证书公钥文件,用于验证SSL连接中服务器和客户端证书的合法性。
client-cert.pem:客户端证书,在SSL连接中用于验证客户端的身份。
client-key.pem:客户端证书的私钥,用于加密和解密SSL连接中客户端发送的数据。
private_key.pem:私钥文件,用于加密和解密SSL连接中的数据。
public_key.pem:公钥文件,用于验证SSL连接中的数据。
server_cert.pem:服务器证书,用于验证MySQL数据库服务器的身份。
server_key.pem:服务器证书的私钥,用于加密和解密SSL连接中服务器发送的数据
上图已有证书文件,没有得话就生成证书文件
mysql_ssl_rsa_setup –-data-dir=/data/3306/data/mysql-ssl --uid=mysql
3.配置文件启用加密连接
vim /etc/my.cnf
[mysqld]
ssl-ca=ca.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem
[client]
ssl-ca=ca.pem
ssl-cert=client-cert.pem
ssl-key=client-key.pem
4.重启MySQL
/etc/init.d/mysql restart
5.配置客户端强制使用ssl连接
show variables like 'require_secure_transport';
SET GLOBAL require_secure_transport = ON;
6.查看ssl启用情况
mysql> \s
SSL: Cipher in use is TLS_AES_256_GCM_SHA384
7.连接测试
mysql --ssl-ca=/data/mysqldata/ca.pem --ssl-cert=/data/mysqldata/client-cert.pem --ssl-key=/data/mysqldata/client-key.pem -uroot
版权归原作者 liux3528 所有, 如有侵权,请联系我们删除。