Пользователь root MariaDB

1099
Jon Abaca

Добрый день,

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

mysql -uroot 

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

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

1
Вы завершили процесс, который запускается с `--skip-grant-tables`. На всякий случай завершите все процессы mysql / mariadb, перезапустите службу и попробуйте снова. Под каким пользователем вы запускаете `mysql -u root`? Daniel 7 лет назад 0
Да. Когда я запрашиваю корневую запись в таблице mysql.user, столбец пароля имеет значение, но я все равно могу войти без него. Jon Abaca 7 лет назад 0

1 ответ на вопрос

2
elenst

Вы, очевидно, работаете 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поля, сбросить привилегии, тогда все должно работать как раньше.

Похожие вопросы