Я сделал замечательную вещь, случайно удалив всех пользователей 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.