【问题标题】:Access denied for user on database when trying to grant permissions尝试授予权限时拒绝用户访问数据库
【发布时间】:2017-04-27 04:16:52
【问题描述】:

我可以毫无问题地连接到我的数据库,我已经设置了一个用户,其密码具有*.* 的所有权限,包括授权选项。

当我执行以下操作时:

SHOW GRANTS FOR 'myuser'@'myip';

我明白了:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'myip' WITH GRANT OPTION

当我尝试以下操作时:

CREATE SCHEMA test;
GRANT ALL ON test.* to 'testacc' identified by 'asdfasdf';

我得到Access denied for user 'myuser'@'myip' to database 'test',但是可以成功创建架构test

唯一可行的方法是在我的服务器上直接以root 的身份执行此操作(以localhost 身份)。

我已尝试删除帐户、授予/取消授予权限并刷新它们。似乎没有任何效果,我不知道为什么。

运行时间:

  • Ubuntu 16.04 LTS
  • mysql Ver 14.14 Distrib 5.7.17,适用于 Linux (x86_64),使用 EditLine 包装器

【问题讨论】:

    标签: mysql ubuntu-16.04


    【解决方案1】:

    想通了..

    SELECT USER();SELECT CURRENT_USER(); 不一样。

    看来我尝试通过与实际身份验证不同的 IP 登录。例如,我试图以ip1283.some-random-url.com 登录,但我的身份验证为x.x.x.x(或者相反,我不记得了,一切都进行得如此之快:P)。

    我添加了第一个 IP(奇怪的一个)并删除了另一个,建立了一个新的数据库连接,一切正常。很奇怪。

    如果有人能解释原因,那就太好了!

    【讨论】:

    • 也许你有动态IP,或者使用代理?
    • @MichaelO。我的 IP 多年来一直是这样,我从来没有在家里设置过任何代理,当然也没有其他人也没有。太奇怪了。
    猜你喜欢
    • 2012-01-19
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多