我有奇怪的错误。我通过命令行以 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 创建的数据库?
ps来自其他帖子,我认为这个问题可能是由于一些奇怪的用户引起的
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';
但是,虽然它表明查询运行成功,但即使在刷新权限后用户也不会被删除。为什么我无法删除用户?任何帮助都非常有用