web-dev-qa-db-ja.com

INSERTのターゲットテーブルユーザーはMariaDB 10.4.11に挿入できません

私は誤ってmysqlからすべてのrootユーザーを削除するという素晴らしいことをしました。そんな日。

しかし、私がパニックになる前に、私はこの方法を使用するだろうと思いました here オンラインで検索することから、それほど悪くはないように思われました。

"[mysqld]セクションのmy.cnfに「skip-grant-tables」を追加して、mysqlを再起動します"

次に、「INSERT INTO mysql.user ...」を使用して新しいrootユーザーを挿入します

これを行うと、エラーが発生します。

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

誰もがこれについて何か考えを持っていますか、どうすればルートユーザーを再作成できますか?

最初はvirtualminと関係があるのではないかと思いました here でも、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
2
gstlouis

私はようやく私の解決策を見つけました(このスレッドで@RolandoMySQLDBAに大きく感謝します ここ )。

私が彼の答えで持っていた唯一の問題は、WITH GRANT OPTION;/var/lib/mysql/InitFile.sqlにないということでした:

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

完了したら必ずファイルを削除し、/etc/my.cnfに追加したinit-file文字列を削除して更新してください。

MariaDBがエラーINSERT is not insertable-intoを出力した理由がまだわかりません。これがMariaDBの問題であることを説明するドキュメントが見つかりませんでした。

1
gstlouis