通过创建或修改用户时指定主机IP限制登录来源,使用CREATE USER或RENAME USER设置'username'@'host',配合FLUSH PRIVILEGES生效,并查询mysql.user验证权限,避免使用'%'开放任意IP访问。
在 MySQL 中限制用户登录来源 IP,主要通过创建用户时指定主机地址或修改现有用户的访问权限来实现。MySQL 的用户账户由用户名和主机名两部分组成,控制主机名即可限制登录来源。
在创建新用户时,直接指定允许连接的 IP 地址或网段:
这样用户只能从指定 IP 或符合模式的 IP 登录,其他来源将被拒绝。
如果用户已存在,可以通过以下方式更改其允许的登录IP:
注意:修改后需刷新权限使变更生效。
刷新权限执行权限更改后,运行以下命令使配置立即生效:
FLUSH PRIVILEGES;可通过查询 mysql.user 表确认用户的 host 限制:
SELECT User, Host FROM mysql.user WHERE User = 'username';Host 字段显示的就是允许登录的主机或IP模式。
基本上就这些。只要合理设置 '@' 后面的主机部分,就能有效控制用户从哪些IP可以登录 MySQL。不复杂但容易忽略细节,比如 % 和 _ 的通配符含义,建议生产环境避免使用 '%' 允许任意IP。