MySQL 用户更改了 IP 地址。处理此问题的最佳方法是什么?

MySQL 用户更改了 IP 地址。处理此问题的最佳方法是什么?

我有许多用户通过 VPN 连接到 MySQL,因此我们有类似的授权grant select on foo.* to user@ipaddress1

本周,VPN 上使用的 IP 更改为地址2,因此user@ipaddress1补助金不再有效。

处理 MySQL 中的用户更新和授予信息以反映此变化的最佳方法是什么?

请注意,授权是一个严重的混乱,因为某些用户被排除在特定表的特定列之外,所以我们必须围绕排除的对象进行授权。

答案1

显然,正确的做法是:

RENAME USER user@ipaddress1 TO user@ipaddress2;

有关详细信息,请参阅RENAME USER 语句部分

这将处理所有的补助金。

答案2

只需更新 MySQL 用户表中的主机字段:

update mysql.user set Host = 'newIP' where Host = 'oldIP';
flush privileges;

答案3

如果您为 VPN 用户提供了专用子网,则以下语法可以很好地发挥作用。

GRANT ALL ... user_name@'192.168.1.%'

相关内容