MySQL8开启ssl加密

MySQL8开启ssl加密1 概述 MySQL从5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl: 另外,ssl加密需要密钥与证书,可以使用openssl…

MySQL8开启ssl加密

1 概述

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

在这里插入图片描述

另外,ssl加密需要密钥与证书,可以使用openssl手动生成或使用mysql_ssl_rsa_setup自动生成,这里使用了mysql_ssl_rsa_setup.

下面从安装开始.

2 安装(可选)

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

在这里插入图片描述

这里的版本是8.0.17,不算太旧,就不去官网下载了,直接install:

yum install mysql
yum install mysql-server

代码100分

好了之后启动服务:

代码100分systemctl start mysqld

然后获取临时密码后修改root密码:

grep password /var/log/mysql/mysqld.log

在这里插入图片描述

这里显示密码为空,直接root登录修改密码:

代码100分mysql -u root -p
alter user root@localhost identified by "xxxxx

在这里插入图片描述

3 生成证书与密钥

首先查看有没有开启ssl,MySQL控制台输入

show variables like "%ssl%";

在这里插入图片描述

这里have_ssl显示yes,表示已经开启了,表示本地的使用了ssl连接,如果显示为no,使用MySQL自带的工具即可开启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:

在这里插入图片描述

然后在本机上测试,首先测试不需要ssl的用户,输入密码123456后可以直接登录:

在这里插入图片描述

然后测试需要ssl的用户:

在这里插入图片描述

输入密码123456后登录不了,使用scp从服务器复制CA证书与客户端证书与私钥:

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

在这里插入图片描述

登录成功.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9362.html

(0)
上一篇 2023-02-10
下一篇 2023-02-10

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注