Назад | Перейти на главную страницу

Пользователь целевой таблицы INSERT не может быть вставлен в MariaDB 10.4.11

Я сделал замечательную вещь, случайно удалив всех пользователей root из mysql. Такой день.

Однако, прежде чем я запаниковал, я решил, что воспользуюсь этим методом. Вот поиском в Интернете, который казался не таким уж плохим.

"Добавьте 'skip-grant-tables' в my.cnf в разделе [mysqld] перезапустите mysql"

затем вставьте нового пользователя root, используя "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

Я наконец нашел свое решение (большое спасибо @RolandoMySQLDBA в этом потоке Вот).

Единственная проблема, с которой я столкнулся с его ответом, заключалась в том, что WITH GRANT OPTION; отсутствовал из /var/lib/mysql/InitFile.sql:

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

Не забудьте удалить файл, когда вы закончите, и обновите, чтобы удалить строку init-файла, которую вы добавили в /etc/my.cnf.

Я до сих пор не понимаю, почему MariaDB выводила ошибку INSERT is not insertable-into и не смог найти никакой документации, объясняющей, что это проблема MariaDB.