30

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

单用户命令是:

GRANT USAGE ON *.* TO 'joecool'@'192.168.1.2' REQUIRE SSL;

拥有“所有用户”版本会特别有用,因为phpMyAdmin在创建或修改用户时不支持 REQUIRE SSL 标志。

4

3 回答 3

13

Honza(以前)接受的答案似乎不正确,请参阅其评论。由于MySQL 不支持用户名的通配符,因此似乎不可能使用GRANT查询同时更改多个用户。

正如您自己建议的那样,您可以mysql.user使用UPDATE查询直接更改表中的记录,并且按照 Marc Delisle 的建议,然后使用以下命令刷新权限:

FLUSH PRIVILEGES;

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

于 2014-11-13T11:58:38.923 回答
4

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

[mysqld]
...
ssl-ca = ...
ssl-cert = ...
ssl-key = ...
...
require-secure-transport = ON

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

于 2018-01-30T01:09:08.157 回答
3

是的,您可以直接修改 mysql.user 表(小心)。然后,您只需发出 FLUSH PRIVILEGES 语句即可将更改应用到正在运行的服务器。

于 2013-08-24T18:06:22.757 回答