首先确认MySQL支持SSL,通过SHOW VARIABLES检查have_ssl状态;若未启用,使用mysql_ssl_rsa_setup生成证书或OpenSSL手动创建;在my.cnf中配置ssl-ca、ssl-cert、ssl-key路径并重启服务;创建用户时指定REQUIRE SSL强制加密连接;客户端用--ssl-mode=REQUIRED测试连接,并通过STATUS验证SSL加密生效;可选配置客户端证书实现双向认证;最后建议定期更新证书并限制非必要用户的SSL豁免以增强安全性。

在搭建MySQL环境时配置SSL安全连接,可以有效防止数据在传输过程中被窃听或篡改。只要MySQL服务器支持SSL(大多数现代版本默认支持),就可以通过以下步骤完成配置。
登录MySQL后执行以下命令查看SSL是否已启用:
SHOW VARIABLES LIKE '%ssl%';重点关注以下几个变量:
如果 have_ssl 为 DISABLED 或 NO,需要手动配置证书和启用SSL。
MySQL提供了自带的脚本 mysql_ssl_rsa_setup 可以快速生成所需文件:
mysql_ssl_rsa_setup --datadir=/var/lib/mysql --uid=mysql该命令会在指定目录生成如 ca.pem、server-cert.pem、server-key.pem、client-cert.pem、client-key.pem 等文件。你也可以使用OpenSSL手动创建CA和服务器/客户端证书,适合更严格的环境要求。
编辑MySQL配置文件 my.cnf(通常位于 /etc/my.cnf 或 /etc/mysql/my.cnf),在 [mysqld] 段添加:
[mysqld]保存后重启MySQL服务:
systemctl restart mysqld再次执行 SHOW VARIABLES LIKE '%ssl%',确认 have_ssl 为 YES,且相关证书路径正确。
可以通过创建或修改用户来要求其必须使用SSL:
CREATE USER 'secure_user'@'%' IDENTIFIED BY 'password'或对已有用户修改:
ALTER USER 'existing_user'@'%' REQUIRE SSL;此时该用户连接时必须使用 --ssl-mode=REQUIRED 参数,否则会被拒绝。
使用MySQL客户端测试SSL连接:
mysql -u secure_user -h your_host -p --ssl-mode=REQUIRED连接成功后,执行以下语句确认当前连接是否使用SSL:
STATUS;查看输出中的"SSL"项,若显示"Cipher in use is TLS_AES_256_GCM_SHA384"等信息,说明SSL连接已生效。
如需更高安全性,可配置客户端证书验证。在 my.cnf 中为用户添加 REQUIRE X509 或指定证书:
ALTER USER 'secure_user'@'%' REQUIRE SUBJECT '/CN=client';客户端连接时需提供自己的证书和私钥:
mysql -u secure_user -h host -p \基本上就这些。只要证书生成正确、配置文件路径无误、权限设置得当,MySQL的SSL连接就能稳定运行。建议定期更新证书,并关闭非必要用户的SSL豁免,提升整体安全性。
以上就是环境搭建时mysql如何配置SSL安全连接的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号