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

1次阅读

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] 段添加:

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

Veed AI Voice Generator

Veed推出的AI语音生成器

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

查看详情 如何为mysql开启SSL_mysql SSL配置方法

  • 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),说明已加密通信

text=ZqhQzanResources