1 概述
MySQL从5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl:

2 安装(可选)
系统CentOS,直接使用yum安装(编译安装可以看这里),先用list查看一下:

yum install mysql
yum install mysql-server
好了之后启动服务:
systemctl start mysqld
然后获取临时密码后修改root密码:
grep password /var/log/mysql/mysqld.log

mysql -u root -p
alter user root@localhost identified by 'xxxxx
3 生成证书与密钥
首先查看有没有开启ssl,MySQL控制台输入
show variables like '%ssl%';

mysqld_ssl_rsa_setup
然后默认在/var/lib/mysql下会有几个pem文件(ls查看),说明如下:
| 名字 | 描述 |
|---|---|
| ca-key.pem | CA私钥 |
| ca.pem | 自签名的CA证书 |
| client-key.pem | 连接服务器提供的私钥 |
| client-cert.pem | 连接服务器需要提供的证书 |
| server-key.pem | 服务器端私钥 |
| server-client.pem | 服务器端证书 |
| pulibc_key.pem | 密钥对公钥 |
| private_key.pem | 密钥对私钥 |
接着重启服务:
systemctl restart mysqld
4 测试
进入服务器的MySQL控制台,新建两个测试用户,一个使用ssl,一个不使用ssl:



scp username@xxx.xxx.xxx.xxx:/var/lib/mysql/\{ca.pem,client-key.pem,client-cert.pem} .
然后在登录时加上
--ssl-ca=ca.pem
--ssl-cert=client-cert.pem
--ssl-key=client-key.pem

