赞
踩
我们将使用-h指定IPv4本地环回接口,以强制客户端与TCP连接,而不是使用本地套接字文件。 这将允许我们检查TCP连接的SSL状态:
mysql -u root -p -h 127.0.0.1
键入以下内容以显示SSL / TLS变量的状态:
SHOW VARIABLES LIKE '%ssl%'; Output +---------------+----------+ | Variable_name | Value | +---------------+----------+ | have_openssl | DISABLED | | have_ssl | DISABLED | | ssl_ca | | | ssl_capath | | | ssl_cert | | | ssl_cipher | | | ssl_crl | | | ssl_crlpath | | | ssl_key | | +---------------+----------+ 9 rows in set (0.01 sec)
have_openssl和have_ssl字段显示DISABLE,表示当前mysql拥有ssl的功能,但是ssl功能未默认启动。
检查我们当前连接的状态以确认:(需要root授权ssl等陆才可以(下面有介绍))
\s Output -------------- mysql Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper Connection id: 30 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.17-0ubuntu0.16.04.1 (Ubuntu) Protocol version: 10 Connection: 127.0.0.1 via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 3 hours 38 min 44 sec Threads: 1 Questions: 70 Slow queries: 0 Opens: 121 Flush tables: 1 Open tables: 40 Queries per second avg: 0.005 --------------
上面显示的SSL: Not in use
说明,当前连接没有在SSL安全连接中
关闭当前MySQL会话:
exit
要启用到MySQL的SSL连接,我们首先需要生成相应的证书和密钥文件。 MySQL 5.7及更高版本提供了一个名为mysql_ssl_rsa_setup
的实用程序,我们使用root权限生成相关的请求文件和证书对,为了能让mysql
有权限去使用,命令中应该使用选项和参数--uid=mysql
来指定uid。
sudo mysql_ssl_rsa_setup --uid=mysql
命令执行生成证书的过程如下:
root@simon-pc:/home/simon# mysql_ssl_rsa_setup --uid=mysql 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' ----- root@simon-pc:/home/simon#
检查生成的文件:
root@simon-pc:/home/simon# sudo find /var/lib/mysql -name '*.pem' -ls
655857 4 -rw------- 1 mysql mysql 1679 Feb 1 09:36 /var/lib/mysql/ca-key.pem
657410 4 -rw------- 1 mysql mysql 1679 Feb 1 09:36 /var/lib/mysql/server-key.pem
657421 4 -rw-r--r-- 1 mysql mysql 1107 Feb 1 09:36 /var/lib/mysql/server-cert
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。