Почему этот пользователь MySQL не может войти в систему с паролем?


8

В phpmyadmin я создал пользователя с именем «edward» с паролем и всеми привилегиями:

введите описание изображения здесь

Тем не менее, когда я пытаюсь войти через phpmyadmin, появляется сообщение «Невозможно войти на MySQL Server».

Когда я пытаюсь войти в систему из командной строки (Windows 7), это также не позволяет мне: введите описание изображения здесь

Но если я вхожу без пароля, я получаю:

введите описание изображения здесь

и показывает мне только две таблицы.

Я уверен, что пароль правильный, и я создал несколько пользователей, которые не могут войти в систему со своими паролями, независимо от того, сколько прав я им предоставляю.

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


Приложение:

Вот скриншот с phpmyadmin, показывающий, что у «edward» столько же прав, сколько и у «root»:

введите описание изображения здесь


Вы уверены, что установили пароль? Попробуй SET PASSWORD FOR 'edward'@'%' = PASSWORD( 'YOU PASSWORD HERE' ).
hellodanylo

да, я вошел в систему как root и снова установил пароль с помощью этой команды, но я все еще не могу войти в систему как edward, как будто есть какие-то глобальные настройки против любого, кто входит в систему, кроме root, я установил это с xampp

то же самое происходит со мной, и пароль был правильно установлен в команде создания пользователя
santiago arizti

Ответы:


6

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

Установите пароль для пользователя, только тогда вы сможете использовать-p

Кроме того, вы можете удалить Anyпользователя.


Я предоставил ему пароль в phpmyadmin (как показано на снимке экрана выше), и в командной строке я снова вошел в систему и предоставил ему пароль, set password for 'edward'@'%' = password('test');но по-прежнему не могу войти с паролем, как будто пароль не устанавливается, но отображается как установленный

4
ваш скриншот показывает %хост, однако вы обращаетесь к нему localhost, что имеет значение. Возможно, у вас есть другой грант, который соответствует любому на локальном хосте без пароля. У пользователя с указанным хостом более
строгое

2
Хорошо, я изменил его с %на localhostи теперь я могу войти в систему, а также, как вы сказали, если я удаляю запись «любой пользователь», я могу использовать %в Эдварде, спасибо.
Эдвард Тангей

0

Скорее всего, вы предоставили привилегии на сервере, но не на базы данных. ПытатьсяGRANT ALL ON *.* TO 'edward' IDENTIFIED BY 'password'


Я вошел в систему как root и установил пароль с этой командой для базы данных «test» и «edward», но я все еще не могу войти в систему как edward со своим паролем

Извините: я должен был испортить *.*, а не *- я отредактировал свой ответ.

это все еще не работает, как показано на экране выше, у пользователя edward есть все права, так же, как и у пользователя root
Edward Tanguay

0

Та же самая проблема не могла понять это даром. Стерли базу данных, удалили каталог и переустановили на Centos 6.3. Командная строка показывает некоторые данные, которые затем быстро прокручиваются, что решило проблему для меня. Вставил ниже.

ПОЖАЛУЙСТА, ПОМНИТЕ, ЧТОБЫ УСТАНОВИТЬ ПАРОЛЬ ДЛЯ ПОЛЬЗОВАТЕЛЯ MySQL root!

Для этого запустите сервер, затем выполните следующие команды:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cch-web-centos password 'new-password'

В качестве альтернативы вы можете запустить:

/usr/bin/mysql_secure_installation

Последнее, что сработало для меня. Я ввел пароль root, и он на самом деле работал. Ввод пароля root с использованием mysqladmin без запуска этого скрипта дал мне те же ошибки, о которых сообщил Эдвард. Запустите скрипт, ответьте на вопросы, теперь с помощью пароля root работает и вход в систему без пароля запрещен. Этот тоже сводил меня с ума. Я установил mysql много раз, и у меня впервые возникла эта проблема. Не уверен, что это ням / сентос, как в Ubuntu и Fedora, у меня не было этой проблемы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.