MySQL配置SSL连接

1,服务器上安装了MySQL但并未初始化,需切换到安装目录下执行下面的程序来生成ssl-key,数据目录中的pem文件即各种证书。如下图:

./bin/mysql_ssl_rsa_setup

2,服务器上的MySQL服务器已经初始化并在运行中,需先关闭mysql服务,再执行mysql_ssl_rsa_setup来生成证书。不能在运行时生成证书,配置完成后再重启服务,那样会导致ssl配置不生效。


3,修改MySQL配置文件my.cnf,在[mysqld]段增加下列内容来指定服务器端证书。这里被文献误导,如不在此配置,只生成证书的话,MySQL并不会使用这些证书。

ssl-ca=/data/mysql/ca.pem

ssl-cert=/data/mysql/server-cert.pem

ssl-key=/data/mysql/server-key.pem

4,启动MySQL。并查看SSL连接状态。show variables like ‘%ssl%’;


5,客户端连接时使用ca.pem/client-cert.pem/client-key.pem作为自己的客户端证书。

6,配置某用户必须使用ssl连接,修改后如不使用ssl则连接失败。

6.1,新用户grant select on *.* to ‘root’@’%’ identified by ‘password’ REQUIRE SSL;

6.2,修改已有用户ALTER USER ‘root’@’%’ REQUIRE SSL;

 

本文链接地址: https://danteng.org/mysql-ssl/