一、安装时启动SSL
[root@linux-node local]# /usr/local/mysql5.7/bin/mysqld --initialize --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data/ --user=mysql
[root@linux-node local]# /usr/local/mysql5.7/bin/mysql_ssl_rsa_setup
当运行完这个命令后,默认会在data(数据)目录下生成以下pem文件,这些文件就是用于启用SSL功能的
[root@linux-node local]# ll /usr/local/mysql5.7/data/*.pem
-rw-------. 1 /usr/local/mysql5.7/data/ca-key.pem #CA私钥
-rw-r--r--. 1 /usr/local/mysql5.7/data/ca.pem #自签CA证书,客户端连接也需要提供
-rw-r--r--. 1 /usr/local/mysql5.7/data/client-cert.pem #客户端连接服务器端需要提供的证书文件
-rw-------. 1 /usr/local/mysql5.7/data/client-key.pem #客户端连接服务器端需要提供的私钥文件
-rw-------. 1 /usr/local/mysql5.7/data/private_key.pem #私钥/公钥对的私有成员
-rw-r--r--. 1 /usr/local/mysql5.7/data/public_key.pem #私钥/公钥对的共有成员
-rw-r--r--. 1 /usr/local/mysql5.7/data/server-cert.pem #服务器端证书文件
-rw-------. 1 /usr/local/mysql5.7/data/server-key.pem #服务器端私钥文件
二、进入数据库查看
1、查看变量值
mysql> show global variables like '%ssl%';
2、查看 test用户的连接方式
mysql>\s;
3、如果用户是采用本地localhost或者sock连接数据库,那么不会使用SSL方式了
三、如果安装MySQL5.7时没有运行过mysql_ssl_rsa_setup,那么如何开启SSL
1、关闭MySQL服务
2、运行mysql_ssl_rsa_setup 命令
3、到data_dir目录下修改.pem文件的所属权限用户为mysql chown -R mysql.mysql *.pem
4、启动MySQL服务
四、强制某用户必须使用SSL连接数据库
#更改已经存在用户
mysql> alter mysql.user test@'%' require ssl;
#新建必须使用ssl用户
mysql> grant all on *.* to 'slave'@'192.168.133.1' identified by 'ASDF123asdf' require ssl;
mysql> flush privileges;
对于强制使用SSL连接的用户,如果不是使用ssl连接的就会报错
[root@linux-node ~]# mysql -uslave -pASDF123asdf -h 192.168.133.1 --ssl=0 #不启用ssl连接
[root@linux-node ~]# mysql -uslave -pASDF123asdf -h 192.168.133.1 [--ssl=1] #启用ssl连接