Я установил mariadb, и когда я являюсь пользователем root, я могу запустить команду mysql для доступа к базе данных. Но когда я пытаюсь войти в систему как обычный пользователь Linux и запускаю mysql -u root -p
, я получаю сообщение об ошибке:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
Я пробовал несколько методов, таких как сброс пароля для пользователя root mysql, но безрезультатно.
Любая помощь будет отличной.
У меня была та же проблема, она была вызвана "сменным" значением в "mysql.user" таблице.
Имеют Вас попробованный этим ответом: https://askubuntu.com/a/636579/299538
Здесь является объяснением этого: https://superuser.com/a/1071043/592085
В MariaDB Вы не можете войти в систему с обычным пользователем, необходимо базироваться доступ или использование 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;
использование базы данных Show:
SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host |
+------+-----------+
| root | % |
| root | localhost |
+------+-----------+
Выход и подключение с обычным пользователем:
mysql -u root