|
|
|
|
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
|
Я поставил новую MySQL , за место старой. И появилась такая ошибка в Phpmyadmin. В интернете я нашел вот это:
This is permanent solution. Instead of typing this "SET PASSWORD FOR peter@localhost = OLD_PASSWORD('something');" in the command line client for every single user, do the following:
Find "my.ini" inside windows directory and insert the following lines (First line is just a comment, it can be ommited)
#Use old password encryption method (needed for 4.0 and older clients).
old_passwords
Restart the service for the changes to take place.
и вот это:
ето проблема с password hashing так как с версии
mysql 4.1 используется 41 byte вместо 16 byte
попробуй стартануть mysql server с опцией --old-passwords
или просто поставь версию менше 4.1 к примеру mysql 4.0.22
можно также запустить в команднойстроке:
mysql -uroot -prootpw
попадёш в MySQL Konsole, и там набираеш:
SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('rootpw');
Но как это проделать не знаю. Обьясните подробно пожалуйста, и где вводить вот это все... mysql -uroot -prootpw... и т.д. | |
|
|
|
|
|
|
|
для: Бамси
(04.07.2005 в 19:42)
| | А версия MySQL какая (вплоть до 3-й цифры)? Была такая проблема в ранних версиях 4.1 и 5.0 - был включён по умолчанию протокол SSL, сейчас вроде обратно откатали и в новых версиях таких проблем не возникает... | |
|
|
|
|
автор: LOG (21.11.2005 в 21:52) |
|
|
для: cheops
(04.07.2005 в 21:21)
| | Я вот тоже сегодня попал с 5.0.15 версией с оффсайта,а стояла 3.23.53...
Главное, под mysql-administrator'ом могу зайти, а из РНР не пускает, выдает ту же ошибку | |
|
|
|
|
|
автор: Петр (21.02.2006 в 15:37) |
|
|
для: cheops
(22.11.2005 в 01:13)
| | Сам сейчас бьюсь над этой проблемой!!! Если чего решу, сразу напишу!!! | |
|
|
|
|
автор: Петр (21.02.2006 в 15:54) |
|
|
для: Петр
(21.02.2006 в 15:37)
| | Короче! Всё очень просто!!! Без всяких сложных командных строк и прочей гопоты!!! :)
Делается так! Открывается MySQL Administrator, если нет, то качаем (Google-it)
Если прога коннектится, то Открываем Setup Variables --> Security
Ставим галчонка на Use old passwords
Apply
Создаем нового пользователя
Переписываем настройки MyAdmin на нового пользователя и все ok! Старых можно всех похерить!
Если что пишите на support@delcon.info или в асю 7852677 помогу!!
Кому интересно почему такая лажа происходит:
Начиная с версии 4.1, в My SQL используется новый протокол аутентификации. В новом протоколе алгоритм хеширования данных аутентифмкации отличается от алгоритма более ранних версий сервера My SQL. По сути вся проблема сводится к тому, что хеш пароля
“mypass” в версиях старше 4.1 (т.е. 4.1.*, 5.0.* и т.д.) имеет вид *6C8989366EAF75BB670AD8EA7A7FC1176A9 5CEF4 (строка длиннее 41 байта), и тот же пароль “mypass” в версиях младше 4.1. (т.е. 4.0.*, 3.23.* и т.д.) имеет вид 6f8c114b58f2ce9e (строка 16 байт)
Теперь возникает ситуация. Вы обновляете сервер до версии старше 4.1., а клиент у Вас остается старый. Вы все правильно установили, сервер нормально запустился. Вы запускаете клиента, вводите логин и пароль соответствующей учетной записи, нажимаете Enter, Ваш СТАРЫЙ клиент хеширует данные авторизации по СТАРОМУ алгоритму и передает их на сервер. Сервер принимает эти данные и сранивает их с данными из таблицы mysql.user. В результате такого сравнения сервер видит, что хеши паролей не совпадают (всего 16 байт, вместо ожидаемых, как минимум, 41-го байта). Вследствие чего, сервер выдает вполне информативное сообщение:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Цитата с phpclub.ru | |
|
|
|