How can I restore the MySQL root user’s full privileges?(如何恢复 MySQL root 用户的完全权限?)
问题描述
我不小心删除了我的 MySQL root 用户的一些权限,包括更改表的能力.有什么方法可以将此用户恢复到其原始状态(具有所有权限)?
I accidentally removed some of the privileges from my MySQL root user, including the ability to alter tables. Is there some way I can restore this user to its original state (with all privileges)?
UPDATE mysql.user SET Grant_priv = 'Y', Super_priv = 'Y' WHERE User = 'root';
# MySQL returned an empty result set (i.e. zero rows).
FLUSH PRIVILEGES ;
# MySQL returned an empty result set (i.e. zero rows).
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
GRANT ALL ON *.* TO 'root'@'localhost'
推荐答案
如果 GRANT ALL 不起作用,请尝试:
If the GRANT ALL doesn't work, try:
- 停止
mysqld并使用--skip-grant-tables选项重新启动它. - 使用
mysql连接到mysqld服务器(即没有-p选项,并且可能不需要用户名).李> 在mysql客户端发出如下命令:
- Stop
mysqldand restart it with the--skip-grant-tablesoption. - Connect to the
mysqldserver with just:mysql(i.e. no-poption, and username may not be required). Issue the following commands in the mysql client:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
之后,您应该能够运行 GRANT ALL ON *.* TO 'root'@'localhost'; 并让它工作.
After that, you should be able to run GRANT ALL ON *.* TO 'root'@'localhost'; and have it work.
这篇关于如何恢复 MySQL root 用户的完全权限?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何恢复 MySQL root 用户的完全权限?
基础教程推荐
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 是否可以执行按位分组功能? 2021-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- 无法解决整理冲突 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
