mysql如何配置ssl安全连接

31次阅读

MySQL支持SSL时返回YES,通过生成证书并配置my.cnf中的ssl-ca、ssl-cert、ssl-key启用SSL,创建REQUIRE SSL用户确保加密连接,客户端连接需指定证书参数,STATUS或Ssl_cipher验证加密状态。

mysql如何配置ssl安全连接

MySQL 配置 SSL 安全连接可以提升数据库通信的安全性,防止数据在传输过程中被窃听或篡改。只要客户端和服务器都支持 SSL/TLS,就可以启用加密连接。下面是配置 MySQL SSL 连接的详细步骤。

检查 MySQL 是否支持 SSL

登录 MySQL 执行以下命令:

SHOW VARIABLES LIKE 'have_ssl';

如果返回值为 YES,说明 MySQL 支持 SSL。再查看是否已启用:

SHOW VARIABLES LIKE 'ssl_ca'; SHOW VARIABLES LIKE 'ssl_cert'; SHOW VARIABLES LIKE 'ssl_key';

如果有路径显示,说明已经配置了证书相关参数。

生成 SSL 证书和密钥

MySQL 提供了一个脚本自动创建测试用的证书,位于安装目录的 mysql_ssl_rsa_setup 工具

运行命令(以 Linux 为例):

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 服务端启用 SSL

编辑 MySQL 配置文件 my.cnf(通常位于 /etc/my.cnf 或 /etc/mysql/my.cnf),在 [mysqld] 段添加:

[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 服务:

systemctl restart mysql

再次登录 MySQL,执行:

SHOW VARIABLES LIKE '%ssl%';

确认 ssl_ca、ssl_cert、ssl_key 已正确加载。

mysql如何配置ssl安全连接

琅琅配音

全能ai配音神器

mysql如何配置ssl安全连接89

查看详情 mysql如何配置ssl安全连接

创建强制 SSL 连接的用户

你可以创建一个必须通过 SSL 连接的用户:

CREATE USER 'secure_user'@'%' IDENTIFIED BY 'password' REQUIRE SSL; GRANT SELECT, INSERT ON db_name.* TO 'secure_user'@'%';

REQUIRE SSL 表示该用户只能通过 SSL 加密连接访问数据库。

客户端连接时启用 SSL

使用 mysql 命令行连接时指定 SSL 参数:

mysql -u secure_user -p --host=your.mysql.host  --ssl-ca=/path/to/ca.pem  --ssl-cert=/path/to/client-cert.pem  --ssl-key=/path/to/client-key.pem

或者在连接字符串中启用(如 PHP PDO):

$pdo = new PDO(     "mysql:host=your.mysql.host;dbname=test",     "secure_user",     "password",     array(PDO::MYSQL_ATTR_SSL_CA => '/path/to/ca.pem') );

如果不指定证书,但服务器允许非 SSL 连接,可能会降级为未加密连接。

验证连接是否使用 SSL

登录后执行:

STATUS;

查看 “SSL” 一行,如果显示 Cipher 信息,说明当前连接已启用 SSL 加密。

或者查询:

SHOW SESSION STATUS LIKE 'Ssl_cipher';

如果返回非空值,表示使用了加密连接。

基本上就这些。配置完成后,所有支持 SSL 的客户端连接将自动协商加密通道,确保数据安全传输。建议在生产环境中使用由可信 CA 签发的证书,并定期更新密钥。不复杂但容易忽略的是权限和 REQUIRE SSL 的设置,务必确认用户策略符合安全要求。

以上就是mysql ssl php linux word 工具 session 配置文件 安全传输 php mysql require pdo 字符串 数据库 ssl linux

mysql ssl php linux word 工具 session 配置文件 安全传输 php mysql require pdo 字符串 数据库 ssl linux

text=ZqhQzanResources