有没有办法改变我的SQL中的用户主机

时间:2014-02-22 18:42:07

标签: mysql

我正在构建一个mysql服务器,允许用户只在内部ip地址上访问数据库。

SET PASSWORD  FOR 'testuser'@'MyIPwillgohere' = PASSWORD('password');

但使用上述语句时出现以下错误

 Can't find any matching row in the user table

我认为这与主机是%而不是本地主机或我的IP地址有关。

+------------------+-------------+
| user             | host        |
+------------------+-------------+
| testuser         | %           |
| root             | 127.0.0.1   |
| root             | ::1         |
| debian-sys-maint | localhost   |
| root             | localhost   |
| root             | raspberrypi |
+------------------+-------------+

如何更改主机或我该怎么做才能解决此问题。我使用putty SSH连接连接到服务器并以root用户身份运行mysql。

问题是如何更改测试用户主机?

我想将主机从%更改为本地主机或可能是我自己的IP地址。我已经使用workbench作为编辑器登录,但主机仍然是相同的?

2 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情(但请注意DROP实质上意味着“DELETE”所以要小心):

DROP USER 'testuser';
GRANT USAGE ON dbnamegoeshere.* to 'testuser@MyIPwillgohere' IDENTIFIED BY 'password';

答案 1 :(得分:0)

我找到了解决自己问题的方法。它没有让我通过更改密码EG

来更改主机连接的位置
  

你可能会尝试这样的事情(但请注意DROP本质上   意思是“删除”所以要小心):

     

DROP USER'testuser';在dbnamegoeshere上授予使用权。* to   'testuser @ MyIPwillgohere'识别'密码';

这样说它没有找到匹配。我首先向用户授予权限,并说明他要连接的位置,然后允许更改密码。