给定一个具有多个远程用户(表单用户'joecool'@'192.168.1.2'
)的 MySQL 系统;是否有可以REQUIRE SSL
用于所有远程用户的 SQL 语句?
单用户命令是:
GRANT USAGE ON *.* TO 'joecool'@'192.168.1.2' REQUIRE SSL;
拥有“所有用户”版本会特别有用,因为phpMyAdmin在创建或修改用户时不支持 REQUIRE SSL 标志。
给定一个具有多个远程用户(表单用户'joecool'@'192.168.1.2'
)的 MySQL 系统;是否有可以REQUIRE SSL
用于所有远程用户的 SQL 语句?
单用户命令是:
GRANT USAGE ON *.* TO 'joecool'@'192.168.1.2' REQUIRE SSL;
拥有“所有用户”版本会特别有用,因为phpMyAdmin在创建或修改用户时不支持 REQUIRE SSL 标志。
Honza(以前)接受的答案似乎不正确,请参阅其评论。由于MySQL 不支持用户名的通配符,因此似乎不可能使用GRANT
查询同时更改多个用户。
正如您自己建议的那样,您可以mysql.user
使用UPDATE
查询直接更改表中的记录,并且按照 Marc Delisle 的建议,然后使用以下命令刷新权限:
FLUSH PRIVILEGES;
您可以mysqld
使用require_secure_transport进行配置。
[mysqld]
...
ssl-ca = ...
ssl-cert = ...
ssl-key = ...
...
require-secure-transport = ON
此功能补充了优先考虑的每个帐户的 SSL 要求。例如,如果一个帐户是使用 REQUIRE SSL 定义的,则启用 require_secure_transport 并不能使用该帐户使用 Unix 套接字文件进行连接。
是的,您可以直接修改 mysql.user 表(小心)。然后,您只需发出 FLUSH PRIVILEGES 语句即可将更改应用到正在运行的服务器。