【问题标题】:ERROR 1045 (28000): Access denied for user 'username'@'%' (using password: YES)错误 1045 (28000): 用户 'username'@'%' 的访问被拒绝(使用密码:是)
【发布时间】:2013-10-13 17:54:01
【问题描述】:

我在我的 CentOS 6.4 服务器上安装了 MySQL。我登录了我的根并更改了它的密码。

后来我想我应该创建一个新用户并将该用户用作我的默认用户,所以我使用以下命令创建了一个新用户名golden

CREATE USER 'golden'@'%' IDENTIFIED BY 'password';

然后我给用户golden申请了权限:

GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%';

FLUSH PRIVILEGES;

现在这个用户:golden 可以做任何事情了。所以我终于Deleted the root user。现在,我坚持向我的另一个新用户授予权限。

我创建了另一个用户,当我通过golden 登录时(此时我已经删除了root 用户和命令成功创建,新用户我也可以在列表中看到它)

CREATE USER 'fashion'@'%' IDENTIFIED BY 'password';

然后下面的命令给我错误:

GRANT ALL PRIVILEGES ON *.* TO 'fashion'@'%';

错误: 错误 1045 (28000):用户 'golden'@'%' 的访问被拒绝(使用密码:YES)

我也尝试了以下命令,结果如下:

mysql> 选择用户(),当前用户(); +-----------------+----------------+ |用户() |当前用户() | +-----------------+----------------+ |金@本地主机 |金@% | +-----------------+----------------+

如果我无法授予该用户访问权限,那么我该如何登录和使用数据库?请帮忙。

编辑 1:以下命令给我以下结果

mysql> 选择用户,主机 FROM mysql.user; +------------+--------+ |用户 |主持人 | +------------+--------+ |金色 | % | |时尚 | % | +------------+--------+

【问题讨论】:

  • 那么你的mysql总共有多少用户??
  • @Jhanvi 我已经进行了编辑,请检查

标签: mysql database permissions privileges grant


【解决方案1】:

首先,我无法想象您删除root 用户的原因。但回到问题 - 你应该指定WITH GRANT OPTION,像这样:

(但是这应该在你重新安装 mysql 之后选择,就好像你没有root 访问权限并且用户也没有足够的权限,那么最好是重新启动安装过程并使用户按照下面定义的方式授予他们权限)

mysql> 创建由“密码”标识的用户“黄金”@“本地主机”; 查询正常,0 行受影响(0.00 秒) mysql> 使用授权选项将 *.* 上的所有权限授予 Golden@localhost; 查询正常,0 行受影响(0.00 秒) mysql> 刷新权限; 查询正常,0 行受影响(0.00 秒)

然后

mysql> 选择 current_user(); +------------------+ |当前用户() | +------------------+ |金@本地主机 | +------------------+ 一组中的 1 行(0.00 秒) mysql> 创建数据库测试; 查询正常,1 行受影响(0.03 秒) mysql> 授予测试的所有权限。* 进行测试; 查询正常,0 行受影响(0.02 秒) mysql> 删除数据库测试; 查询正常,0 行受影响(0.12 秒)

-但在删除 root 用户之前,请三思。

【讨论】:

  • 但现在我只以golden 用户身份登录。那么我现在该如何执行呢?因为我没有root
  • 不行。重新安装 MySQL 服务器实例似乎是最简单的解决方案。这就是为什么如果你不确定,你不应该做任何事情。 root 通常是系统用户。没有它也可以进行配置,但不建议这样做。
  • 好的,我希望这样做。无论如何,感谢您的时间和努力。看起来最好重新安装
【解决方案2】:

你试过了吗?

update mysql.user set grant_priv='Y' where user='golden';
flush privileges;

然后退出并以用户 Golden 重新连接到数据库。

【讨论】:

    【解决方案3】:

    解决这个问题最简单的方法是--

    1.转到控制面板并使隐藏的文件和文件夹可见(如果之前没有这样做) 2.现在转到您的C盘并在其中打开一个隐藏文件夹“程序数据”。 3.搜索mysql文件夹并将其删除。 4.卸载mysql 5.1。 5.使用向导重新安装它。 它会问你的新密码.. :) 享受

    【讨论】:

      猜你喜欢
      • 2014-03-23
      • 1970-01-01
      • 2016-09-29
      • 2013-11-28
      • 2017-04-02
      • 2019-05-26
      • 2019-12-12
      • 2019-12-15
      • 2017-08-23
      相关资源
      最近更新 更多