MySQL8开启SSL加密方式

 更新时间:2025年11月20日 10:10:05   作者:氷泠  
本文介绍了如何在MySQL 5.7及以上版本中启用SSL加密,并详细描述了安装、生成证书与密钥、测试SSL连接的步骤,通过这些步骤,可以确保MySQL连接的安全性

1 概述

MySQL5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看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

好了之后启动服务:

systemctl start mysqld

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

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

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

mysql -u root -p
alter user root@localhost identified by 'xxxxx

3 生成证书与密钥

首先查看有没有开启SSLMySQL控制台输入

show variables like '%ssl%';

这里have_ssl显示yes,表示已经开启了,表示本地的使用了SSL连接,如果显示为no,使用MySQL自带的工具即可开启SSL

mysqld_ssl_rsa_setup

然后默认在/var/lib/mysql下会有几个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

登录成功。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • MySQL截取和拆分字符串函数用法示例

    MySQL截取和拆分字符串函数用法示例

    这篇文章主要介绍了MySQL截取和拆分字符串函数用法,结合实例形式分析了mysql针对字符串的截取与拆分函数SUBSTRING及SUBSTRING_INDEX相关使用方法,需要的朋友可以参考下
    2016-09-09
  • MySQL中COALESCE函数示例详解

    MySQL中COALESCE函数示例详解

    COALESCE 是一个功能强大且常用的 SQL 函数,主要用来处理 NULL 值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,这篇文章主要介绍了MySQL中COALESCE函数,需要的朋友可以参考下
    2025-03-03
  • MySQL 数据库连接池爆满问题解决

    MySQL 数据库连接池爆满问题解决

    MySQL数据库连接池爆满会严重影响系统性能,通过应用日志、数据库连接池监控面板等工具确认问题,具有一定的参考价值,感兴趣的可以了解一下
    2024-11-11
  • MySql InnoDB引擎下的锁使用及说明

    MySql InnoDB引擎下的锁使用及说明

    文章介绍了MySQL InnoDB存储引擎中的锁机制,包括共享锁、排他锁、意向锁、记录锁、间隙锁、Next-Key锁、插入意向锁、自增锁以及空间索引的谓词锁,这些锁机制确保了数据的一致性和并发控制
    2025-12-12
  • MySQL索引的各种类型

    MySQL索引的各种类型

    这篇文章主要介绍了MySQL索引的各种类型,帮助大家更好的理解和学习MySQL索引,感兴趣的朋友可以了解下
    2020-09-09
  • MySQL 数据类型及最优选取规则

    MySQL 数据类型及最优选取规则

    这篇文章主要介绍了MySQL 数据类型及最优选取规则,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-08-08
  • MySQL 搭建双主复制服务并通过 HAProxy 负载均衡的过程详解

    MySQL 搭建双主复制服务并通过 HAProxy 负载均衡的过程详解

    在数据库管理中,数据的备份和同步是至关重要的环节,而双主复制(Dual Master Replication)作为一种高可用性和数据同步的解决方案,本文将介绍MySQL双主复制的配置过程并通过 HAProxy 负载均衡,感兴趣的朋友一起看看吧
    2024-03-03
  • PostgreSQL与MySQL区别全面对比详析

    PostgreSQL与MySQL区别全面对比详析

    MySQL和PostgreSQL都是强大的关系型数据库管理系统,但它们适用于不同的用例和需求,下面这篇文章主要介绍了PostgreSQL与MySQL区别全面对比的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-12-12
  • 关于避免MySQL替换逻辑SQL的坑爹操作详解

    关于避免MySQL替换逻辑SQL的坑爹操作详解

    这篇文章主要给大家介绍了关于避免MySQL替换逻辑SQL的坑爹操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • 全面分析MySQL ERROR 1045出现的原因及解决

    全面分析MySQL ERROR 1045出现的原因及解决

    这篇文章主要介绍了全面分析MySQL ERROR 1045出现的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论