我有许多用户通过 VPN 连接到 MySQL,因此我们有类似的授权grant select on foo.* to user@ipaddress1
。
本周,VPN 上使用的 IP 更改为地址2,因此user@ipaddress1
补助金不再有效。
处理 MySQL 中的用户更新和授予信息以反映此变化的最佳方法是什么?
请注意,授权是一个严重的混乱,因为某些用户被排除在特定表的特定列之外,所以我们必须围绕排除的对象进行授权。
答案1
答案2
只需更新 MySQL 用户表中的主机字段:
update mysql.user set Host = 'newIP' where Host = 'oldIP';
flush privileges;
答案3
如果您为 VPN 用户提供了专用子网,则以下语法可以很好地发挥作用。
GRANT ALL ... user_name@'192.168.1.%'