Подтвердить что ты не робот

Не удается войти в систему с созданным пользователем в mysql

С помощью этой команды

GRANT ALL PRIVILEGES ON *.* to 'brian'@'%' identified by 'password';

Я пытаюсь войти с помощью:

 mysql -u brian -ppassword

Ошибка:

ERROR 1045 (28000): Access denied for user 'brian'@'localhost' (using password: YES)

Я делаю это как root, и я попытался сбросить привилегии.

Я пробовал это с бесчисленными пользователями, но он, похоже, не работает. Я могу создать пользователя без пароля и входа в систему. Командная строка и phpmyadmin

Также проверьте, был ли пользователь в mysql.user, который он есть.

Покажите гранты для шоу brian:

| GRANT ALL PRIVILEGES ON *.* TO 'brian'@'%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
4b9b3361

Ответ 1

Вероятно, у вас есть эта постоянная проблема MySQL, когда один из пользователей по умолчанию в пользовательской таблице '' @ localhost, что приводит к отказу всех пользователей localhost позже в таблице. Я бы сделал mysqldump базу данных mysql и посмотрел эту запись в таблице User; если он найден, удалите его и сбросьте привилегии.

Подробнее см. https://dev.mysql.com/doc/refman/5.5/en/connection-access.html.

Это распространенное заблуждение думать, что для данного имени пользователя все строки, которые явно называют этого пользователя, используются сначала, когда сервер пытается найти соответствие для соединения. Это неправда. Предыдущий пример иллюстрирует это, когда соединение из h1.example.net от jeffrey сначала сопоставляется не с строкой, содержащей "jeffrey" в качестве значения столбца пользователя, а по строке без имени пользователя. В результате, jeffrey аутентифицируется как анонимный пользователь, хотя при подключении он указал имя пользователя.

Ответ 2

Это проблема, вызванная анонимными пользователями. После установки MySQL я всегда запускаю

shell> mysql_secure_installation 

и выберите установку/изменение пароля root, удаление анонимных пользователей, запрет удаленного входа в корневой каталог, удаление тестовой базы данных. Это позволит удалить анонимного пользователя и защитить вашу установку. Он также должен решить вашу проблему.

Ответ 3

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Ответ 4

Ни одно из предлагаемых решений не работает. После нагрузок ошибок и испытаний я понял, что у меня есть специальные символы в пароле. Изменение пароля без специальных символов разрешило проблему

Ответ 5

В mysql docs есть следующее: (от http://dev.mysql.com/doc/refman/5.1/en/adding-users.html):

У двух учетных записей есть имя пользователя monty и пароль some_pass. Оба аккаунта - это учетные записи суперпользователей с полными привилегиями, чтобы что-либо сделать. Учетную запись 'monty'@'localhost' можно использовать только при подключении к локальному хосту. Учетная запись 'monty'@'%' использует подстановочный знак '%' для основной части, поэтому его можно использовать для подключения с любого хоста.

Необходимо, чтобы обе учетные записи для monty могли подключаться из любого места как monty. Без учетной записи localhost учетная запись анонимного пользователя для localhost, созданная с помощью mysql_install_db, будет иметь приоритет, когда monty подключается к локальный хост. В результате monty будет рассматриваться как анонимный пользователь. Причина этого заключается в том, что учетная запись анонимного пользователя имеет более конкретное значение столбца Host, чем учетная запись 'monty'@'%', и, таким образом, выполняется раньше в порядке сортировки пользовательской таблицы.

С учетом этого я бы рекомендовал вам создать пользователя 'brian'@'localhost' с теми же привилегиями.

Ответ 6

Вы забыли цитаты вокруг Брайана в своем заявлении о гранте. Попробуйте это следующим образом:

GRANT ALL PRIVILEGES ON *.* to 'brian'@'%' identified by 'password';

Ответ 7

Я думаю, что "Рассел Силва" прав...

Я создал пользователя

CREATE USER 'username'@'%' PASSWORD='userpassword';

Но я не могу войти в эту учетную запись. Консоль сказала мне, что

ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)

Итак, я создал пользователя с тем же именем пользователя, за исключением того, что менял "%" на "localhost", и я мог, наконец, войти в систему как "имя пользователя". Это довольно странно для меня, хотя.

Ответ 8

В моем случае это было связано с тем, что я нажимал "SSL: REQUIRE SSL" (в phpmyadmin). Когда я изменил его на "REQUIRE NONE", я смог войти.

Ответ 9

Вы также можете подключиться с другого хоста, а затем анонимный анонимный анонимный пользователь обходит, и вы можете удалить его и сбросить привилегии:

mysql -u brian -ppassword -h 'other_host_than_localhost'

Ответ 10

Я только что создал учетную запись, чтобы предоставить еще одну возможность для будущих поисковиков:

Это может быть очевидным для опытных пользователей, но мой пароль генерировался случайным образом и содержал "\". Взял меня, пока я не узнал, что этот персонаж вызывает проблемы, в результате чего я не могу войти в систему.

Ответ 11

У меня была аналогичная проблема с попыткой подключиться к базе данных Maria, работающей на Ubuntu после обновления до 17.04.

По умолчанию было прослушивание только на localhost, 127.0.0.1.

Чтобы заставить MySQL/Maria прослушивать все доступные порты и интерфейсы, мне нужно было явно указать bind-address = 0.0.0.0. Я добавил эту строку в конец файла /etc/mysql/my.cnf, т.е.

...
[client-server]

# Import all .cnf files from configuration directory

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
bind-address=0.0.0.0

Тогда...

sudo /etc/init.d/mysql restart 

Ответ 12

Аналогичная проблема возникла для меня даже после проверки, что я не ввел неправильный пароль, я не мог войти. Ниже двух шагов решена моя проблема.

  • Падение базы данных тестирования
  • Удаление анонимного пользователя