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!;
