启用远程访问后,ROOT丢失权限并授予ROOT权限不起作用

时间:2013-11-12 03:06:34

标签: mysql xampp

update user set host='%' where user='root之后,我失去了MySQL root用户的一些权限。所以我停止了服务器并使用--skip-grant-tables

启动它

msqld --skip-grant-tables

我试过

mysql>update mysql.user set grant_priv = 'Y' where user = 'root';
Query OK, 0 rows affected (0.00 sec)
mysql>FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

这对我不起作用。当我以root身份登录时,我仍然看不到MYSQL数据库。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)

请帮忙。我已经尝试过所有的解决方案仍然无法恢复ROOT的权限,总是得到“0行受影响”的结果。

1 个答案:

答案 0 :(得分:2)

尝试

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

<强>更新

运行此命令以检查您当前的权限

SHOW GRANTS FOR CURRENT_USER; 

使用直接SQL DML语句从mysql.*表和information_schema.*表插入/更新/删除是一种不好的做法。

更新2

您可以发布此命令的结果

  SELECT (
      Host, 
      Grant_priv, 
      Super_priv 
    ) 
  FROM mysql.user
  WHERE user = 'root';

所有_priv列的值都应为YHost应为localhost