mysql - 启用远程访问后,ROOT 失去权限,授予 ROOT 权限不起作用

标签 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行受影响”的结果。

最佳答案

尝试

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

关于mysql - 启用远程访问后,ROOT 失去权限,授予 ROOT 权限不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19920143/

相关文章:

mysql - rails 服务器命令无法找到库

python - django.db.utils.OperationalError : (1426,“精度太大1000

MYSQL统计相关记录一条查询

xampp - 本地主机 : 404 not found

windows-8 - Windows 8 xampp 上的 Imagick

ubuntu - XAMPP 为 MariaDB 设置 root 用户密码

php - 禁用 xampp 将 http 重定向到 https

php - MySQL查询帮助计数请

mysql - 为特定列创建了两次索引

mysql - XAMPP MySQL 突然不再工作了