如何为所有远程用户请求SSL

doc*_*hat 27 mysql ssl phpmyadmin

给定具有多个远程用户的MySQL系统(表单的用户'joecool'@'192.168.1.2'); 是否有我可以REQUIRE SSL用于所有远程用户的SQL语句?

单用户命令是:

GRANT USAGE ON *.* TO 'joecool'@'192.168.1.2' REQUIRE SSL;
Run Code Online (Sandbox Code Playgroud)

拥有"所有用户"版本将特别有用,因为phpMyAdmin在创建或修改用户时不支持REQUIRE SSL标志.

lme*_*urs 12

Honza的(以前)接受的回答似乎不正确,请参阅其评论.GRANT由于MySQL不支持用户名的通配符,因此似乎无法使用查询一次更改多个用户.

正如您自己建议的那样,您可以mysql.user使用UPDATE查询直接更改表中的记录,正如Marc Delisle建议的那样,之后使用以下方式刷新权限:

FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

另请参阅dba.stackexchange.com>如何授予多个用户权限.


Ita*_*tto 5

您可以mysqld使用require_secure_transport进行配置。

[mysqld]
...
ssl-ca = ...
ssl-cert = ...
ssl-key = ...
...
require-secure-transport = ON
Run Code Online (Sandbox Code Playgroud)

此功能补充了优先考虑的每帐户 SSL 要求。例如,如果使用 REQUIRE SSL 定义帐户,则启用 require_secure_transport 无法使用该帐户通过 Unix 套接字文件进行连接。

  • 这仅适用于 mysql5.7,更高版本或 mariadb 不支持。 (2认同)