Пользователь Mariadb без прав root

Пользователь Mariadb без прав root

Я установил mariadb и как пользователь root Linux я могу запустить команду mysql для доступа к базе данных. Но когда я пытаюсь войти как обычный пользователь Linux и запустить mysql -u root -p, я получаю ошибку:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'. 

Я пробовал несколько методов, например, сброс пароля для пользователя root в MySQL, но ничего не помогло.

Любая помощь будет полезна.

решение1

У меня была та же проблема, она была вызвана значением «plugin» в таблице «mysql.user».

Вы пробовали с этим ответом:https://askubuntu.com/a/636579/299538

Вот объяснение этому:https://superuser.com/a/1071043/592085

решение2

В MariaDB вы не можете войти под обычным пользователем, вам нужен доступ root или использование sudo. Другое решение — добавить еще одного пользователя root с полными привилегиями.

Подключитесь к базе данных с помощью sudo:

sudo mysql -u root

Проверьте свою учетную запись в текущей базе данных:

mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |

Создайте пользователя заново root(при необходимости используйте пароль):

mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';

Давать разрешение:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

Румянец:

mysql> FLUSH PRIVILEGES;

Показать использование базы данных:

SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host      |
+------+-----------+
| root | %         |
| root | localhost |
+------+-----------+

Выйдите и подключитесь как обычный пользователь:

mysql -u root

Связанный контент