mysql - 如何将所有权限恢复到 MySQL 中的 root 用户?

标签 mysql privileges

我已经使用 --skip-grant-tables 选项登录到 MySQL。但是我不知道如何将所有权限取回给 root 用户。

我试过:

GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost';

MySQL 说:

# 1290 - The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

尝试:

GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost'
WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

MySQL 说:

# 1290 - The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

最佳答案

适用于 mysql 8.0.12+
我已经尝试了文档(不起作用)我已经尝试了各种其他选项,但都失败了。

PASSWORD() 已弃用,SET PASSWORD 已禁用,ALTER USER 也已禁用。

  1. 停止mysql服务
  2. 以这种方式启动:/usr/local/mysql/bin/mysqld_safe --skip-grant-tables
  3. 登录(mysql)并执行: 更新用户集 authentication_string='' where User='root';
  4. killall mysqld
  5. 重新开始服务

现在您可以在无密码登录后使用set passwordalter user

关于mysql - 如何将所有权限恢复到 MySQL 中的 root 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1712806/

相关文章:

Mysql从多列中计数?

mysql - 如何在 MySQL 程序中创建唯一的临时表?

nginx - 如何在docker Registry v2中公开发布和推送要求登录的信息?

mysql - 具有授予选项的用户无法授予创建用户

mysql - 如何在 ubuntu unity 中删除 MySQL Workbench 5.2?

mysql - 如何使用 Java 和 mysql 数据库 "wamp server"进行自动备份 [每天,每周,...]?

mysql - 如何查看整个表的所有这些用户及其 "Grants"?

c++ - 防病毒软件将我的应用程序视为危险

php - 通过 PHP 从 SQL 表到 JSON

mysql - 授予本地主机权限或使用它们创建另一个用户