抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

MySQL 是一种流行的开源数据库管理系统,广泛应用于各种 Web 应用程序和数据存储中。然而,传统的 MySQL 连接在传输数据时并未加密,可能存在安全风险。启用 SSL 加密连接可确保数据在传输过程中的安全性和完整性。本文详细说明如何在 MySQL 中启用 SSL 加密连接。

准备工作

SSL 是一种被广泛使用的网络协议,用于在客户端和服务器之间建立安全通信通道。通过使用 SSL 可以确保传输的数据不被第三方窃听或篡改。启用 SSL 加密连接第一步是准备 SSL 证书。SSL 证书由可信证书颁发机构签发,用于验证服务器的身份。您可以从 CA 购买 SSL 证书,也可使用 OpenSSL 等工具自行生成。

在开始启用 SSL 之前,需要确保 MySQL 服务器和客户端已经安装了 SSL 模块。如果您使用的是 MySQL 二进制包,那么可能已经安装了 SSL 模块。如果您使用的是源码包,则需手动编译并安装 SSL 模块。

安装证书

将 SSL 证书安装到 MySQL 服务器上。通常,您需要将 SSL 证书和私钥文件复制到 MySQL 服务器的指定目录,如 /etc/mysql/ssl

编辑 MySQL 服务器配置文件,以启用 SSL 并指定 SSL 证书和私钥文件的路径。

配置示例

以下是一个 SSL 示例配置:

1
2
3
4
[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-caCA 证书的路径
ssl-cert服务器证书的路径
ssl-key服务器私钥的路径

重启测试

保存 MySQL 配置文件后,重启 MySQL 服务以应用新的配置。在 Linux 系统中可以使用以下命令重启 MySQL 服务:

1
sudo systemctl restart mysql

在配置完成后,您可以使用 mysql 命令行工具测试 SSL 连接。要启用 SSL 连接,您可以使用--ssl-ca, --ssl-cert--ssl-key 选项。以下是一个测试 SSL 连接示例:

1
mysql --host=localhost --port=3306 --user=root --password=your_password --ssl-ca=ca.pem --ssl-cert=server-cert.pem --ssl-key=server-key.pem

验证连接

测试 SSL 连接无误后,您可以在 MySQL 服务器中启用 SSL。要启用 SSL,您需要在 my.ini 配置文件中添加以下参数:

1
2
require_secure_transport=ON
ssl=ON

要验证 SSL 连接是否成功启用,您可在 MySQL 命令行工具中输入以下命令:

1
SHOW STATUS LIKE 'Ssl_cipher';

结果总结

如果看到类似以下输出,则表示 SSL 连接已经启用:

1
2
3
4
5
+--------------------+--------------------------------------------------------------+
| Variable_name | Value |
+--------------------+--------------------------------------------------------------+
| Ssl_cipher | DHE-RSA-AES256-GCM-SHA384 |
+--------------------+--------------------------------------------------------------+

启用 MySQL 的 SSL 加密连接可有效提高数据传输的安全性。我们建议您在生产环境中始终启用 SSL,以确保数据安全性。最后分享一个 OpenSSL 创建公私秘钥的示例:

1
2
openssl genrsa -out rsa_private.key 2048
openssl rsa -in rsa_private.key -pubout -out rsa_public.key

评论