如果您执行了查询 SELECT user, host FROM mysql.user WHERE user = 'douyuan12';
并且发现 host
列显示的是 192.168.0.109
而不是您期望的 192.168.0.104
,这意味着用户 douyuan12
当前被配置为仅允许从 IP 地址 192.168.0.109
进行连接。
要更改这个设置,使 douyuan12
用户能够从 192.168.0.104
连接,您有几个选项:
-
更新现有用户的
host
:
您可以直接更新mysql.user
表中的host
字段,将192.168.0.109
改为192.168.0.104
。但是,这种方法可能需要您先删除现有的用户条目,然后重新创建它,因为 MySQL 不允许直接更新host
字段。更安全的方法是删除旧条目并添加新条目:sql复制代码DROP USER 'douyuan12'@'192.168.0.109'; CREATE USER 'douyuan12'@'192.168.0.104' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON aaa.* TO 'douyuan12'@'192.168.0.104'; FLUSH PRIVILEGES; 将
your_password
替换为用户的实际密码。 -
添加新的用户条目:
如果您不想删除现有的用户条目(例如,如果其他系统或用户仍然需要从192.168.0.109
连接),您可以简单地添加一个新的用户条目,允许从192.168.0.104
连接:sql复制代码CREATE USER 'douyuan12'@'192.168.0.104' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON aaa.* TO 'douyuan12'@'192.168.0.104'; FLUSH PRIVILEGES; 这样,您就会有两个
douyuan12
用户,一个用于192.168.0.109
,另一个用于192.168.0.104
。 -
使用通配符
%
:
如果您希望douyuan12
用户能够从任何 IP 地址连接,您可以将host
设置为%
(这是一个通配符,表示“任何主机”):sql复制代码DROP USER 'douyuan12'@'192.168.0.109'; -- 如果需要的话,删除旧的用户条目 CREATE USER 'douyuan12'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON aaa.* TO 'douyuan12'@'%'; FLUSH PRIVILEGES; 请注意,使用
%
可能会增加安全风险,因为它允许从任何 IP 地址进行连接。
在做出任何更改之前,请确保您了解这些更改的含义,并考虑它们对您系统安全性的影响。在进行更改后,始终记得执行 FLUSH PRIVILEGES;
来使更改生效。
文章末尾固定信息

评论