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

时间:2015-02-27 20:07:03

标签: mysql database grant

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

1 个答案:

答案 0 :(得分:1)

这适用于 XAMPP

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

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

如果您收到错误,请尝试以下操作:

  1. 停止mysqld
  2. enter image description here

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

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

      [mysqld]
      skip-grant-tables
      skip-networking
      

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

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

        • 打开命令提示符窗口>>命令提示符
        • 输入cd C:\xampp\mysql\bin
        • 输入mysql
      2. 在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?