拒绝用户“xxx”@“xxx.xxx.xxx.xxx”访问

拒绝用户“xxx”@“xxx.xxx.xxx.xxx”访问

我知道有类似的问题,但我没有找到我正在寻找的内容。以下是发生的事情,有点奇怪:

[root@xxx xxx]# mysql -u profuser -ppwd -h 192.168.1.99
ERROR 1045 (28000): Access denied for user 'profuser'@'192.168.1.99' (using password: YES)

192.168.1.99是我自己的 IP。但是当我使用localhost或时127.0.0.1,就没问题了:

[root@xxx xxx]# mysql -u profuser -ppwd -h 127.0.0.1
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 68
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> bye
[root@xxx xxx]# mysql -u profuser -ppwd -h localhost
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 69
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

我发现问题,但没有帮助:

mysql> select host from user where user='profuser';
+--------------+
| host         |
+--------------+
| 127.0.0.1    | 
| 192.168.1.99 | 
| localhost    | 
+--------------+

我添加了我的 IP,正如另一个问题中所建议的那样。

答案1

密码哈希值是否与新用户/主机组合匹配?调整您的 select 语句:select host, password from user where user='profuser';

无论如何,你想实现什么?你正在添加标志-h 192.168.1.99;本地连接时这不是必需的(正如你所发现的)。如果你想通过网络连接,那么你将需要一个用户规范,如'root'@'192.168.1.%''root'@'%',以允许远程主机;如果你只是进行本地连接,那么你不需要-h

答案2

当使用类似查询手动添加主机时INSERT INTO mysql.user ...,您必须发出FLUSH PRIVILEGES命令来应用更改。

相关内容