我不小心从MySQL root用户那里删除了一些权限,包括改变表的能力.有什么方法可以将此用户恢复到其原始状态(具有所有权限)?
UPDATE mysql.user SET Grant_priv = 'Y', Super_priv = 'Y' WHERE User = 'root';
# MySQL returned an empty result set (i.e. zero rows).
FLUSH PRIVILEGES ;
# MySQL returned an empty result set (i.e. zero rows).
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
GRANT ALL ON *.* TO 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud) 我有奇怪的错误.我通过命令行以root身份登录本地Mysql.创建数据库后:
create database some_db;
Run Code Online (Sandbox Code Playgroud)
然后给某些用户授予权限:
grant all privileges on some_db.* to some_user@'localhost' identified by 'password';
Run Code Online (Sandbox Code Playgroud)
这是错误的:
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'some_db'
Run Code Online (Sandbox Code Playgroud)
root(show grants;)的权限显示:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*8919C53DC7A4DFBF3F8584382E96463583EB7FDA'
Run Code Online (Sandbox Code Playgroud)
我也确保我以root身份登录:
select current_user();
Run Code Online (Sandbox Code Playgroud)
这证实我以"root"@"localhost"身份登录
我已多次创建数据库和分配用户,从未遇到过问题.为什么我无法在root用户登录时将用户分配给root创建的数据库?
ps来自其他帖子,我认为这个问题可能是由于一些奇怪的用户引起的
select host, user from mysql.user;
Run Code Online (Sandbox Code Playgroud)
有些用户我还没有添加但确实出现了:
MY_COMPuTER_name.local | ''
MY_COMPuTER_name.local | root
Run Code Online (Sandbox Code Playgroud)
我试图删除这些用户
drop user 'root'@'MY_COMPuTER_name.local';
drop user ''@'MY_COMPuTER_name.local';
Run Code Online (Sandbox Code Playgroud)
但是,虽然它表明查询运行成功,但即使在刷新权限之后也不会删除用户.为什么我无法删除用户?任何帮助都很有用
我不小心删除了我的MySQL root用户的所有权限,
有什么方法可以将此用户恢复到其原始状态(具有所有权限)?
即时通讯使用我的SQL工作台6.0
请在我的sql中逐步告诉我一步一步的灵魂.