При новой (но старой) установке Ubuntu и MySQL я обнаружил, что могу получить доступ к MySQL через клиент командной строки, не спрашивая ни пользователя, ни пароля.
Для входа в систему как root требуется пароль root. Но вход в систему без указания пользователя (т. Е. Просто ввод mysql
в командной строке) не спрашивает у меня ни пользователя, ни пароля.
Я вошел как stewart@localhost
. Такого пользователя нет в mysql.user
стол.
Этот пользователь может видеть information_schema
база данных.
Почему существует пользователь? Я думал, что пользователи MySQL отделены от системных учетных записей ОС.
MySQL рассматривает неизвестное имя пользователя как анонимного пользователя, поэтому проверьте любые строки в таблице пользователей, которые имеют пустую строку в столбце имени пользователя. Их удаление или установка пароля предотвратит вход без пароля.
Вы можете проверить, подключены ли вы как анонимный пользователь, с помощью SELECT CURRENT_USER ().