尽管没有超级用户,如何在 MYSQL 中向(root)用户授予超级权限?
Posted
技术标签:
【中文标题】尽管没有超级用户,如何在 MYSQL 中向(root)用户授予超级权限?【英文标题】:how to give super permission to (root) user in MYSQL, despite there being no super user? 【发布时间】:2021-12-07 06:20:08 【问题描述】:我正在使用 mysql 8.0.25,在 WAMP 服务器上运行。
我错误地将用户root
的权限更改为未选中(插入)权限并按下(执行),因此分配了更改。
问题是:
超级用户 (root) 无法插入、查看数据库、创建或执行任何操作。 没有其他超级用户再次授予 (root) 超级权限或创建超级用户(如 root) 我无法创建超级用户或将超级权限返回给(root),因为没有超级用户我想再次将所有权限返回给 root。我该怎么办?
你能帮我吗
【问题讨论】:
dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html 使用泛型方法,并添加完整的权限列表而不是 ALTER USER。 请说明方法 【参考方案1】:MySQL 8.0 Reference Manual / ... / How to Reset the Root Password
执行“B.3.3.2.3 重置根密码:通用说明”中描述的通用操作。而不是ALTER USER ...
执行下一条语句:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE,
REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES,
LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW,
SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER,
CREATE TABLESPACE, CREATE ROLE, DROP ROLE
ON *.* TO `root`@`localhost` WITH GRANT OPTION;
GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,
BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,
FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,
GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,
PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,
RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,
SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,
TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN
ON *.* TO `root`@`localhost` WITH GRANT OPTION;
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION;
【讨论】:
#1045 - 用户 'root'@'localhost' 的访问被拒绝(使用密码:否) 我做到了,但仍然拒绝访问以上是关于尽管没有超级用户,如何在 MYSQL 中向(root)用户授予超级权限?的主要内容,如果未能解决你的问题,请参考以下文章