如何在 MySQL 中将所有权限授予 root@localhost?

How can I grant all privileges to root@localhost in MySQL?

我正在使用 WAMP,我不小心从 phpMyAdmin GUI 中禁用了 DELETE 权限。

我尝试了很多方法,比如mysql_upgrade和更改密码。但是,当我尝试添加 DELETE 权限时,我仍然获得 error #1045: Access denied for user root@localhost

如何将全部权限授予 root@localhost?

编辑您的 my.ini 配置文件,通常位于 Drive:\wamp\bin\mysql\mysql-x.x\my.ini

[mysql] 部分添加此行:

[mysqld]
skip-grant-tables

重新启动您的 MySQL 服务器并恢复用户权限,然后删除该行并重新启动 MySQL。

像这样的东西应该适合你:

  1. 在 my.cnf 文件的 [mysqld] 部分下添加 skip-grant-tables 或以其他方式停止 mysqld 并使用 --skip-grant-tables 选项启动它。
  2. 使用mysql连接数据库无需密码不用-p
  3. 然后执行:

    UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root'; FLUSH PRIVILEGES;

  4. 然后执行: GRANT ALL ON *.* TO 'root'@'localhost';