具有从'%'登录的权限的Mysql用户无法从'localhost'登录

时间:2017-01-13 10:55:37

标签: mysql windows localhost privileges

我已创建用户'demo'并授予'demo'@'%'特权。我可以从任何远程服务器登录,但是当我尝试从localhost连接时,我收到一个错误:

  

拒绝访问用户'demo _ @'%''@'localhost'(使用密码:是)

这对我来说很奇怪,因为'%',根据文档,应该匹配任何IP地址。显而易见的解决方案是为'demo'@'localhost'创建第二组权限,但我想知道,这是否设计为这样工作?或者它与mysql客户端尝试连接到数据库的方式有关? (环回网络接口与真实网络接口)。我可以从同一台机器上将mysql客户端作为'demo'@'%'连接吗?

- 编辑 -

有人建议我的问题与Are Users 'User'@'%' and 'User'@'localhost' not the same?相同,但事实并非如此,因为接受的回答是:

  

用户@%允许从所有位置进行访问。

在我的实际情况中,User @%允许从 localhost之外的所有位置进行访问。因为答案来自2012年,同时我们有分支到MariaDB,我提供了确切的版本信息:

 D:\xampp\mysql\bin>mysql --version mysql  Ver 15.1 Distrib
 10.1.16-MariaDB, for Win32 (AMD64)

1 个答案:

答案 0 :(得分:0)

尝试将skip-name-resolve选项添加到my.cnf中的mysqld部分。也许从“localhost”解决问题确实存在问题。使用该选项,服务器仅使用IP地址。