1 概述 Mysql从5.7开始默认开启SSL加密功能,进入mysql控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl: 另外,ssl加密需要密钥与证书,可以使用openssl手动生成或使用mysql_ssl_rsa
Mysql从5.7开始默认开启SSL加密功能,进入mysql控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl:
另外,ssl加密需要密钥与证书,可以使用openssl手动生成或使用mysql_ssl_rsa_setup自动生成,这里使用了mysql_ssl_rsa_setup.
下面从安装开始.
系统Centos,直接使用yum安装(编译安装可以看这里),先用list查看一下:
这里的版本是8.0.17,不算太旧,就不去官网下载了,直接install:
yum install mysql
yum install mysql-server
好了之后启动服务:
systemctl start mysqld
然后获取临时密码后修改root密码:
grep passWord /var/log/mysql/mysqld.log
这里显示密码为空,直接root登录修改密码:
mysql -u root -p
alter user root@localhost identified by "xxxxx
首先查看有没有开启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
进入服务器的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
登录成功.
--结束END--
本文标题: MySQL8开启ssl加密
本文链接: https://lsjlt.com/news/5142.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0