MySQL хэширования паролей
Всякий раз, когда вы обновляете MySQL установкой убедитесь, что для обновления любой клиент, который использует его.
В некоторых случаях клиенты, использующие версии до 4.1 будет иметь проблемы аутентификации для базы данных MySQL, если последняя должность версии 4.1.
Фокус в том, что после 4,1 (то есть 4,11 и выше), MySQL изменили способ, он хранит пароли в таблице пользователей внутри системы баз данных MySQL.
Пароль хэши настоящее время насчитывается 41 байта вместо старых 16 байт.
Так, например, если ваш MySQL сервер 5.0, в то время как ваши PHP-MySQL Библиотека 4.1, веб-приложений не сможет подключиться к базе данных. Таким образом, мы рекомендуем вам обновить клиент.
В любом случае, MySQL предлагает способ изменить хэш обратно в старый формат. Ради аргумент, предположим, пользователь в вопрос, Джон, и вы хотите, чтобы иметь возможность подключиться с помощью пароля манекена. В этом случае подключения к серверу MySQL из командной строки (SSH и использовать "MySQL-гооЬ-р MySQL" на Linux, или перейдите на страницу MySQL / бен каталог окна и выполнить тот же запрос), то выполните следующие запросы:
Обновление пользователю установить пароль = old_password («фиктивные»), где пользователь = 'John';
заподлицо привилегий;
old_password () будет генерировать старых 16 байт хэша. Первый запрос, в конечном счете обновить пользовательский пароль, чтобы использовать этот хэш. Второй запрос необходимо для того, чтобы сервис MySQL перечитать новые привилегии пользователя.
PS: если пароль суперпользователя не работает, см. также, чтобы руководство по его изменением .
Или же, если ваша база данных многих пользователей, и вы не следить за ними, вы можете использовать следующий запрос, и он будет возвращать имена пользователей, которые используют новые хэш-
SELECT DISTINCT (Пользователь) от пользователя, где ДЛИНА (Пароль) = 41!;
