INSERT 的目标表用户不可插入-进入 MariaDB 10.4.11

INSERT 的目标表用户不可插入-进入 MariaDB 10.4.11

我做了一件很棒的事情,无意间从 mysql 中删除了所有 root 用户。真是这样的一天。

然而在我惊慌之前我想我会用这个方法这里从网上搜索看来,情况似乎不那么糟糕。

在 my.cnf 的 [mysqld] 部分下添加“skip-grant-tables”,然后重新启动 mysql

然后使用“INSERT INTO mysql.user...”插入一个新的根用户

当我执行此操作时出现错误,我找不到有关

The target table user of the INSERT is not insertable-into

有人对此有什么想法吗?我该如何重新创建 root 用户?

起初我认为这可能与 virtualmin 有关,因为他们谈论它这里但我从 CLI 进入 mysql 执行此操作,它仍然显示相同的错误

我的环境Centos7

Webmin version 1.940
Usermin version|1.780
Virtualmin version 6.08
mysql Ver 15.1 Distrib 10.4.11-MariaDB, for Linux (x86_64) using readline 5.1

答案1

我终于找到了解决方案(非常感谢这个帖子上的@RolandoMySQLDBA)这里)。

我对他的回答唯一的疑问是WITH GRANT OPTION;缺少以下内容/var/lib/mysql/InitFile.sql

GRANT ALL PRIVILEGES ON *.* TO root@localhost
IDENTIFIED BY 'password' WITH GRANT OPTION;

完成后请不要忘记删除该文件,然后更新以删除您添加到的 init-file 字符串/etc/my.cnf

我仍然不确定为什么 MariaDB 输出错误INSERT is not insertable-into,并且找不到任何文档解释这是 MariaDB 问题。

相关内容