1

Добрый день,

Я вошел в mariadb с опцией пропустить таблицы предоставления. Затем я установил пароль для локального пользователя root. Затем я избавился от привилегий. Тем не менее, я все еще могу войти с помощью следующей команды.

mysql -uroot

Это моя версия MariaDb.

Версия сервера: 10.0.27-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

1 ответ1

2

Вы запускаете mysql -uroot под учетной записью root .

10.0.27-MariaDB-0ubuntu0.16.04.1 - это пакет, предоставляемый Ubuntu. Недавно они переключились на аутентификацию сокетов Unix для локальной учетной записи root по умолчанию. Если вы бежите

MariaDB [(none)]> select user, host, password, plugin from mysql.user;

вы должны увидеть что-то вроде этого:

MariaDB [(none)]> select user, host, password, plugin from mysql.user;
+------+-----------+-------------------------------------------+-------------+
| user | host      | password                                  | plugin      |
+------+-----------+-------------------------------------------+-------------+
| root | localhost | *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 | unix_socket |
+------+-----------+-------------------------------------------+-------------+
1 row in set (0.00 sec)

Естественно, если вы этого не хотите, вы можете удалить unix_socket из поля plugin , сбросить привилегии, тогда он должен работать как прежде.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .