0

0

如何在安装mysql时配置SSL安全连接

P粉602998670

P粉602998670

发布时间:2025-11-06 10:09:22

|

889人浏览过

|

来源于php中文网

原创

配置 MySQL SSL 首先确认支持状态,SHOW VARIABLES LIKE 'have_ssl' 返回 YES 表示可用;默认安装会自动生成证书文件如 ca.pem、server-cert.pem 等;生产环境应使用 OpenSSL 手动创建 CA 与服务器证书:生成 CA 私钥和根证书后,创建服务器私钥及请求并签发证书;将 ca.pem、server-cert.pem、server-key.pem 放入指定目录(如 /etc/mysql/ssl/),设置权限为 600;在 my.cnf 中配置 ssl-ca、ssl-cert 和 ssl-key 指向对应文件;重启服务后可通过 SHOW VARIABLES 命令验证路径是否生效;为强制安全连接,可创建或修改用户要求 REQUIRE SSL,例如 CREATE USER 'secure_user'@'%' IDENTIFIED BY 'password' REQUIRE SSL;客户端连接需添加 --ssl-mode=REQUIRED 参数;通过 SHOW STATUS LIKE 'Ssl_cipher' 可确认当前会话是否加密;正确设置文件权限与路径是关键,确保 mysqld 有读取权限;建议定期更新证书以增强安全性。

如何在安装mysql时配置ssl安全连接

在安装 MySQL 时配置 SSL 安全连接,可以有效保障数据库与客户端之间的通信安全。MySQL 原生支持 SSL/TLS 加密,合理配置后能防止数据在传输过程中被窃听或篡改。以下是如何在安装和初始化阶段配置 SSL 的实用步骤。

启用 MySQL 自带的 SSL 支持

MySQL 在 5.7 及以上版本默认编译支持 SSL,并且在启动时会自动生成 SSL 证书和密钥(如果数据目录中没有相关文件)。

  • 安装完成后,MySQL 通常会在数据目录(如 /var/lib/mysql)下生成以 ca.pemserver-cert.pemserver-key.pem 等命名的证书文件。
  • 可通过命令 SHOW VARIABLES LIKE 'have_ssl'; 查看是否支持 SSL。若返回值为 YES,说明 SSL 已启用。
  • 使用 SHOW VARIABLES LIKE 'ssl_ca';ssl_certssl_key 可查看当前 SSL 文件路径。

手动创建和配置自定义 SSL 证书(推荐用于生产环境)

虽然 MySQL 能自动生成证书,但出于安全考虑,建议使用 OpenSSL 手动创建自己的 CA 和服务器/客户端证书。

黄城网络办公系统
黄城网络办公系统

具有功能全面实用、安全性稳定性高、易操作、管理维护简单的特点,采用独创的智能型技术,web服务器、数据库和应用程序全部自动傻瓜安装配置,用户可在一分钟内自行安装完毕,无需专业人员即可自行维护,B/S结构,适用于Intranet/Internet应用,客户端只需浏览器便可连接办公系统,无论出差旅行,还是居家办公,工作都能得心应手,实现无地域限制的全球办公,具有邮件管理、业务管理、网络硬盘、智能工作流

下载
  • 使用 OpenSSL 创建 CA 私钥和根证书:
    openssl genrsa 2048 > ca-key.pem
    openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca.pem
  • 生成服务器私钥和证书请求:
    openssl req -newkey rsa:2048 -days 365 -nodes -keyout server-key.pem -out server-req.pem
    将请求转换为 PKCS#8 格式:
    openssl rsa -in server-key.pem -out server-key.pem
    签发服务器证书:
    openssl x509 -req -in server-req.pem -days 365 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
  • 将生成的 ca.pem、server-cert.pem、server-key.pem 放入 MySQL 配置指定的目录(如 /etc/mysql/ssl/)并设置权限为 600。
  • 在 my.cnf 中配置:

[mysqld]
ssl-ca = /etc/mysql/ssl/ca.pem
ssl-cert = /etc/mysql/ssl/server-cert.pem
ssl-key = /etc/mysql/ssl/server-key.pem

强制客户端使用 SSL 连接

为了确保连接安全,可对特定用户要求必须通过 SSL 连接。

  • 创建用户时指定 REQUIRE SSL:
    CREATE USER 'secure_user'@'%' IDENTIFIED BY 'password' REQUIRE SSL;
  • 已存在的用户可通过以下语句修改:
    ALTER USER 'existing_user'@'%' REQUIRE SSL;
  • 客户端连接时加上 --ssl-mode=REQUIRED 参数:
    mysql -u secure_user -h your_host -p --ssl-mode=REQUIRED
  • 可通过 SHOW STATUS LIKE 'Ssl_cipher'; 验证当前连接是否使用了加密。

基本上就这些。只要证书正确配置,MySQL 会在客户端支持的情况下自动启用 SSL 加密。生产环境中建议使用自签名 CA 或企业级证书,并定期更新密钥。不复杂但容易忽略的是文件权限和路径配置,务必确保 mysqld 能读取证书文件。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

664

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

246

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

281

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

515

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

255

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

386

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

531

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

600

2023.08.14

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.9万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 805人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号