Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql:将所有权限还原为管理员用户_Mysql_Permissions_Grant - Fatal编程技术网

mysql:将所有权限还原为管理员用户

mysql:将所有权限还原为管理员用户,mysql,permissions,grant,Mysql,Permissions,Grant,我可能在这里要求不可能的事情。我刚刚尝试在phpMyAdmin中重置密码。为此,它使用新密码创建一个新用户,并提供删除旧用户的选项。我选择删除旧用户并创建具有相同权限的新用户 然后phpMyAdmin把我踢了出去。所以我认为这是因为我需要用新密码登录。我试了好几次,它都不让我进去 因此,我使用命令行(mysql-u root-p)以root用户身份登录。我能够登录并看到我的原始用户实际上不在那里。因此,我再次创建了该用户,并尝试将所有权限授予该用户,并获得: mysql> GRANT AL

我可能在这里要求不可能的事情。我刚刚尝试在phpMyAdmin中重置密码。为此,它使用新密码创建一个新用户,并提供删除旧用户的选项。我选择删除旧用户并创建具有相同权限的新用户

然后phpMyAdmin把我踢了出去。所以我认为这是因为我需要用新密码登录。我试了好几次,它都不让我进去

因此,我使用命令行(
mysql-u root-p
)以root用户身份登录。我能够登录并看到我的原始用户实际上不在那里。因此,我再次创建了该用户,并尝试将所有权限授予该用户,并获得:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'me'@'localhost' WITH GRANT OPTION;
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
然后我检查了用户root的授权,并看到:

mysql> show grants for current_user();
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, 
FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, 
LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, 
SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* 
TO 'root'@'localhost' IDENTIFIED BY PASSWORD 'blah' WITH GRANT OPTION
在我看来,我似乎没有权限向我的根用户授予权限。为了安全起见,我可能把它设定在某一点上


基本上,我认为数据库中不再有一个用户拥有授予所有权限的权限。我能恢复这个吗?!?!请帮忙?!?我需要创建一个新的mysql实例吗?

看起来您可能有一些授权不一致。我为什么这么说

我以前在DBA StackExchange中处理过grant表问题

  • 2012年4月12日
  • 2013年5月1日
  • 2013年8月7日
如果您看一下,我将显示从MySQL5.6到MySQL4.1的
mysql.user
的所有布局

显然,看起来您升级了MySQL,但没有修复
MySQL.user

希望你能跑

# mysql_upgrade --upgrade-system-tables

要重新对齐
mysql.user
,并让它使用
Y

运行
select*from mysql.user
首先检查用户详细信息。您正在运行哪个版本的MySQL???@ursitesion我已经这样做了。我现在正在查看,似乎root拥有所有特权,特别是它说Grant_priv=Y。这是否意味着我应该能够将该特权授予用户我?@rolandmysqldba服务器版本:5.5.36 MySQL社区服务器(GPL)顺便问一下,您最近是否升级了MySQL???MySQL.user表只有39行,这意味着它来自MySQL 5.1。我能够运行mysql\u升级。现在一切都好了。你是救命恩人。我应该在linkedIn上支持你!