У вас, вероятно, есть эта вечная проблема MySQL, когда одним из пользователей по умолчанию в таблице пользователей является '' @ localhost
, что приводит к отрицанию всех localhost
пользователей позже в таблице. Я бы сделал mysqldump
базу данных mysql
и поищу эту запись в таблице User
; если он найден, удалите его и сбросьте привилегии.
Подробнее см. https://dev.mysql.com/doc/refman/5.5/en/connection-access.html .
Это Распространенное заблуждение - думать, что для данного имени пользователя все строки, явно указывающие этого пользователя, используются первыми, когда сервер пытается найти соответствие для соединения. Это неправда. Предыдущий пример иллюстрирует это, когда соединение из h1.example. net by jeffrey сначала соответствует не строке, содержащей "jeffrey" в качестве значения столбца User, а строке без имени пользователя. В результате Джеффри аутентифицируется как анонимный пользователь, даже если он указал имя пользователя при подключении.
Вы забыли кавычки вокруг Брайана в заявлении о предоставлении. Попробуйте это так:
ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА *. * 'Brian' @ '%', идентифицированному 'паролем';