You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查MySQL用户是否需SSL?AWS RDS 5.7.22遇SHOW GRANTS无显示问题

检查MySQL用户是否需要SSL连接的方法

我明白你的困惑——你明明执行了GRANT USAGE ON *.* TO 'root'@'%' REQUIRE SSL;来强制root@%用户使用SSL,但SHOW GRANTS的输出里完全没提到SSL要求,这确实有点反直觉。

问题出在:REQUIRE SSL是用户的连接属性,不是权限本身,而SHOW GRANTS主要展示的是用户的权限集合,不会包含这类连接限制规则。不过你可以通过以下两种方法来确认用户的SSL要求:

方法1:使用SHOW CREATE USER命令

这个命令会输出用户的完整创建/配置语句,包括所有连接限制(比如SSL要求)。执行:

SHOW CREATE USER 'root'@'%';

如果之前的REQUIRE SSL设置生效,输出结果里会明确包含REQUIRE SSL的部分,类似这样:

CREATE USER 'root'@'%' IDENTIFIED BY PASSWORD '...' REQUIRE SSL WITH GRANT OPTION;

方法2:查询mysql.user系统表

用户的SSL属性存储在mysql.user表的ssl_type字段中,执行以下查询:

SELECT user, host, ssl_type FROM mysql.user WHERE user = 'root' AND host = '%';

在MySQL 5.7版本中:

  • 如果ssl_type的值为'SSL',说明该用户必须使用SSL连接
  • 如果值为空,则没有强制SSL要求

另外补充一点:在AWS RDS环境中,你也可以通过RDS控制台查看实例的全局SSL设置,但那是实例层面的配置,而你设置的是用户级别的强制SSL,所以上面的两种方法更直接针对特定用户的规则。

内容的提问来源于stack exchange,提问作者committedandroider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:39:58