Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: #1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
 
 автор: Бамси   (04.07.2005 в 19:42)   письмо автору
 
 


#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... и т.д.

   
 
 автор: cheops   (04.07.2005 в 21:21)   письмо автору
 
   для: Бамси   (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'ом могу зайти, а из РНР не пускает, выдает ту же ошибку

   
 
 автор: cheops   (22.11.2005 в 01:13)   письмо автору
 
   для: LOG   (21.11.2005 в 21:52)
 

Посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1113

   
 
 автор: Петр   (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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования