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

Залишити коментар

Ваш коментар