gpt4 book ai didi

mysql - 错误 1044 (42000) : Access denied for 'root' With All Privileges

转载 作者:行者123 更新时间:2023-11-30 22:24:03 26 4
gpt4 key购买 nike

我有一个奇怪的错误。我通过命令行以 root 身份登录本地 Mysql。创建数据库后:

create database some_db;

然后给一些用户权限:

grant all privileges on some_db.* to some_user@'localhost' identified by 'password';

这是给出错误:

ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'some_db'

root(show grants;) 的权限显示:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*8919C53DC7A4DFBF3F8584382E96463583EB7FDA' 

我还要确保我以 root 身份登录:

select current_user();

这确认我以'root'@'localhost'身份登录

我已经多次创建数据库和分配用户,从来没有遇到过问题。为什么我在以 root 身份登录时无法将用户分配给 root 创建的数据库?

附注从其他帖子来看,我认为这个问题可能是由于一些奇怪的用户造成的

select host, user from mysql.user;

一些我没有添加但确实显示的用户:

 MY_COMPuTER_name.local |       ''
MY_COMPuTER_name.local | root

我试图删除这些用户

drop user 'root'@'MY_COMPuTER_name.local';
drop user ''@'MY_COMPuTER_name.local';

然而,虽然它声明查询运行成功,但即使在刷新权限后用户也不会被删除。为什么我无法删除用户?非常感谢任何帮助

最佳答案

首先,确定您登录的用户身份:

 select user();
select current_user();

第一个命令的结果是您尝试登录的结果,第二个是您实际连接的结果。确认您在 mysql 中以 root@localhost 身份登录。

Grant_privroot@localhost。您可以通过以下方式进行检查。

mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
+-----------+------------------+-------------------------------------------+------------+------------+
| host | user | password | Grant_priv | Super_priv |
+-----------+------------------+-------------------------------------------+------------+------------+
| localhost | root | ***************************************** | N | Y |
| localhost | debian-sys-maint | ***************************************** | Y | Y |
| localhost | staging | ***************************************** | N | N |
+-----------+------------------+-------------------------------------------+------------+------------+

您可以看到 root@localhost 的 Grant_priv 设置为 N。这需要是 Y。以下是解决此问题的方法:

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';

我重新登录了,没问题。

关于mysql - 错误 1044 (42000) : Access denied for 'root' With All Privileges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35832165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com