所有用户在 phpMyAdmin 中都没有权限

All users are having NO Privileges in phpMyAdmin

我错误地更改了 MySQL 数据库中用户 'root' 的所有权限。该用户甚至没有任何特权。现在,如果我用另一个用户登录,我只能访问一个数据库。但是我有将近 25 个数据库是用 'root' 用户创建的。如果我想访问所有其他数据库,我需要再次为 root 用户授予权限,但不允许所有其他用户执行 GRANT 语句。那么有没有办法再次为root用户授予权限。我的数据库服务器中包含的所有其他数据库都非常重要。所以请帮助解决这个问题。

这是为了XAMPP

以 root 身份登录,然后 运行 以下 MySQL 命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;

如果出现错误,请尝试以下操作:

  1. 停止mysqld

  1. 使用 --skip-grant-tables 选项重新启动 mysql。

    • 在 my.ini 的 mysqld 部分添加两个选项:

my.ini

[mysqld]
skip-grant-tables
skip-networking

然后 运行 打开命令提示符 windows >> 命令提示符

net stop mysql (wait 10 seconds)
net start mysql
  1. 连接到 mysqld 服务器只需:mysql(即没有 -p 选项, 和用户名可能不是必需的)。

    • 打开命令提示符windows >> 命令提示符
    • 类型cd C:\xampp\mysql\bin
    • 类型mysql

在 mysql 客户端发出以下命令:

insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections) 
values('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');

参考:How can I restore the MySQL root user’s full privileges?