mysql5.7以上开启并配置 ssl

超级简单的教程

   1. 执行以下命令:

##### mysql5.7 提供的 msyql_ssl_rsa_setup 功能,能直接生成ssl密钥和秘银(该文件一般再 mysql的bin目录下)#####

 ./mysql_ssl_rsa_setup --datadir=/data/mysql_ssl/ --user=mysql
 
  // --datadir=/data/mysql_ssl/  是目标目录,如果没有需要先创建

执行结果:

Generating a 2048 bit RSA private key
............................................................................+++
............+++
writing new private key to 'ca-key.pem'
-----
Generating a 2048 bit RSA private key
.......................+++
..........................+++
writing new private key to 'server-key.pem'
-----
Generating a 2048 bit RSA private key
...........+++
..........+++
writing new private key to 'client-key.pem'
-----

2. 进入mysql执行以下命令查看ssl配置是否开启:

show variables like '%ssl%';

执行结果:

+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| have_openssl | DISABLED |     //value为 YES 是开启状态
| have_ssl | DISABLED |         //value为 YES 是开启状态
| ssl_ca | ca.pem |
| ssl_capath | |
| ssl_cert | server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | server-key.pem |
+---------------+-----------------+
9 rows in set (0.01 sec)

2.开启ssl配置:

     ① 将 /data/mysql_ssl/ 目录下.pem的文件,属主和属组改成mysql

        执行以下命令:(需要先进入 /data/mysql_ssl/,我的目录是在这个地方,对应第一步的路径)

  • chown -R mysql.mysql *.pem

    ② 在 ***/my.cnf  (找到自己的mysql 配置文件)配置文件内 [mysqld] 后面添加以下配置

//指向这三个配置文件
ssl-ca=/data/data_ssl/ca.pem   
ssl-cert=/data/data_ssl/server-cert.pem
ssl-key=/data/data_ssl/server-key.pem

    ③ 重启mysql

    ④ 进入mysql执行以下命令查看 SSL 是否开启

   

show variables like 'have%ssl%';

   

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl | YES |          //如果value为 DISABLED 则未开启
| have_ssl | YES |				//如果value为 DISABLED 则未开启
+---------------+-------+

完成开启

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐