如何在 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。
像这样的东西应该适合你:
- 在 my.cnf 文件的 [mysqld] 部分下添加
skip-grant-tables
或以其他方式停止 mysqld 并使用 --skip-grant-tables 选项启动它。
- 使用
mysql
连接数据库无需密码不用-p
然后执行:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
然后执行:
GRANT ALL ON *.* TO 'root'@'localhost';
我正在使用 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。
像这样的东西应该适合你:
- 在 my.cnf 文件的 [mysqld] 部分下添加
skip-grant-tables
或以其他方式停止 mysqld 并使用 --skip-grant-tables 选项启动它。 - 使用
mysql
连接数据库无需密码不用-p 然后执行:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root'; FLUSH PRIVILEGES;
然后执行:
GRANT ALL ON *.* TO 'root'@'localhost';