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

来源:这里教程网 时间:2026-02-28 20:11:10 作者:

MySQL 安装时配置 SSL 安全连接,主要是通过生成必要的证书和密钥文件,并在 MySQL 配置文件中启用 SSL 功能。以下是具体操作步骤,适用于大多数 Linux 环境下的 MySQL(如 MySQL 8.0+)安装场景。

1. 检查 MySQL 是否支持 SSL

安装完成后,先确认当前 MySQL 是否具备 SSL 支持:

登录 MySQL 执行:

mysql -u root -p

然后运行:

SHOW VARIABLES LIKE 'have_ssl';

如果返回值为

YES
,说明支持 SSL;若为
DISABLED
,则需要配置证书。

2. 生成 SSL 证书和密钥

MySQL 可以使用自带的

mysql_ssl_rsa_setup
工具自动生成证书,推荐使用此方式。

执行命令生成证书:

sudo mysql_ssl_rsa_setup --uid=mysql --datadir=/var/lib/mysql

该命令会在数据目录(如

/var/lib/mysql
)下生成以下关键文件:

ca.pem
:CA 证书
server-cert.pem
server-key.pem
:服务器证书和私钥
client-cert.pem
client-key.pem
:客户端证书和私钥

确保这些文件权限正确,属主为

mysql
用户。

3. 配置 my.cnf 启用 SSL

编辑 MySQL 配置文件(通常位于

/etc/my.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf
),在
[mysqld]
段添加:

ssl-ca = /var/lib/mysql/ca.pem
ssl-cert = /var/lib/mysql/server-cert.pem
ssl-key = /var/lib/mysql/server-key.pem

保存后重启 MySQL 服务:

sudo systemctl restart mysql

4. 验证 SSL 是否启用

重新登录 MySQL,执行:

SHOW VARIABLES LIKE '%ssl%';

确认以下变量值:

have_ssl
: YES
have_openssl
: YES
ssl_ca
ssl_cert
ssl_key
显示正确路径

再查看当前连接是否使用 SSL:

STATUS;
\s

输出中 “SSL:” 应显示使用的加密协议(如 TLSv1.3),若显示 "Not in use",则未启用。

5. 强制用户使用 SSL 连接(可选)

创建或修改用户时指定 SSL 要求:

CREATE USER 'secure_user'@'%' IDENTIFIED BY 'password' REQUIRE SSL;

或更新现有用户:

ALTER USER 'your_user'@'%' REQUIRE SSL;

这样客户端必须使用 SSL 才能连接。

6. 客户端连接测试

使用 MySQL 客户端通过 SSL 连接:

mysql -u secure_user -p --host=your_host --ssl-mode=REQUIRED

常见

--ssl-mode
选项:

DISABLED
:不使用 SSL
PREFERRED
:优先使用 SSL
REQUIRED
:强制使用 SSL

基本上就这些。只要证书生成正确,配置路径无误,MySQL 安装时或安装后都可以顺利启用 SSL 加密连接,提升数据传输安全性。

相关推荐

热文推荐