如何为mysql开启SSL_mysql SSL配置方法

P粉602998670
发布: 2025-12-18 09:20:54
原创
171人浏览过
MySQL 5.7.6+ 可原生启用SSL,无需手动编译:先确认版本及have_ssl=YES,再用mysql_ssl_rsa_setup生成证书,配置my.cnf中ssl-ca/cert/key路径,重启后ALTER USER REQUIRE SSL,并用--ssl-mode=REQUIRED连接验证Ssl_cipher非空。

如何为mysql开启ssl_mysql ssl配置方法

MySQL 开启 SSL 并非必须手动编译或升级,只要版本 ≥ 5.7.6(推荐 8.0+),且 OpenSSL 库可用,就能原生支持。核心是生成合法证书、配置服务端参数、验证连接是否加密。

确认 MySQL 版本与 SSL 支持状态

登录 MySQL 后执行以下命令:

  • SELECT VERSION(); —— 确保 ≥ 5.7.6
  • SHOW VARIABLES LIKE 'have_ssl'; —— 返回 YES 表示已编译 SSL 支持
  • SHOW VARIABLES LIKE 'ssl_%'; —— 查看当前 SSL 配置(初始可能全为 OFF 或空)

生成 SSL 证书和密钥文件

推荐使用 MySQL 自带的 mysql_ssl_rsa_setup 工具(5.7.6+ 自带),一键生成 PEM 格式证书:

  • 终端执行:mysql_ssl_rsa_setup --datadir=/var/lib/mysql(路径需匹配你的 datadir)
  • 默认生成 4 个文件:ca.pem(根证书)、server-cert.pemserver-key.pemclient-cert.pem
  • 确保这些文件属主为 mysql 用户,权限为 600(如:chown mysql:mysql /var/lib/mysql/ca.pem

配置 MySQL 服务端启用 SSL

编辑 my.cnf(通常在 /etc/my.cnf 或 /etc/mysql/my.cnf),在 [mysqld] 段添加:

代码小浣熊
代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 429
查看详情 代码小浣熊
  • ssl-ca = /var/lib/mysql/ca.pem
  • ssl-cert = /var/lib/mysql/server-cert.pem
  • ssl-key = /var/lib/mysql/server-key.pem
  • (可选)强制部分用户走 SSL:ALTER USER 'user'@'host' REQUIRE SSL;

保存后重启 MySQL:systemctl restart mysqld,再运行 SHOW VARIABLES LIKE 'ssl_%'; 应看到对应路径和 ON 状态。

验证 SSL 连接是否生效

用客户端连接时显式指定 SSL 参数:

  • mysql -u user -p --ssl-mode=REQUIRED -h host
  • 连接成功后执行:STATUS;SELECT * FROM performance_schema.status_by_thread WHERE variable_name = 'Ssl_cipher';
  • 若显示非空 cipher(如 TLS_AES_256_GCM_SHA384),说明已加密通信

以上就是如何为mysql开启SSL_mysql SSL配置方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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