具有ALL权限的用户拒绝ODBC连接器访问

时间:2018-06-07 15:33:11

标签: mysql odbc

我正在尝试“测试”一个ODBC连接器5.3,它给我“用户[用户名] @lhosthost(使用密码:是)拒绝访问”。但是,当我查看用户表时,我看到GRANT ALL PRIVILEGES ON *.* TO [username]@'%' IDENTIFIED BY PASSWORD 'xxxx' WITH GRANT OPTION

我觉得应该通过该行授予所有权限。我错过了什么?

1 个答案:

答案 0 :(得分:0)

这是一个常见的错误,因为MySQL访问受到客户端主机和用户名&的限制。密码凭证,并且必须按the MySQL documentation中详细说明的方式专门授予访问权限。请注意,localhost是一种特殊情况,您的通配符GRANT无法解决 -

  

如果您无法弄清楚为什么会得到Access denied,请从user表中删除包含通配符Host值的所有行(包含'%'或{{的行1}}字符)。一个非常常见的错误是插入一个包含'_'Host='%'的新行,认为这样可以指定User='some_user'从同一台计算机进行连接。这不起作用的原因是默认权限包含localhostHost='localhost'的行。因为该行的User=''Host'localhost'更具体,所以从'%'连接时,它会优先用于新行!正确的过程是插入包含localhostHost='localhost'的第二行,或删除包含User='some_user'Host='localhost'的行。删除行后,请记住发出FLUSH PRIVILEGES语句以重新加载授权表。另见Section 6.2.6, “Access Control, Stage 1: Connection Verification”