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/