Ошибка при коннекте к MySQL из PHP

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Louie
Сообщения: 5
Зарегистрирован: 10 июн 2005, 12:12
Откуда: г. Санкт-Петербург
Контактная информация:

При попытке открыть страницу в IE возникает ошибка:

mysql_pconnect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in D:\PHP\First Site\images.php on line 21

MySQL сервер версии 4.1.10a-nt
PHP версии 4.3.11
Apache Apache 2.0.53

Код, вызывающий ошибку:
$db = mysql_pconnect('localhost:3306', 'SireUser', 'reeris');

Пробовал под жтим пользователем логинится в MySQL Control Center - все нормально.
Пробовал без номера порта и под root'ом - не помогает.

В чем может быть причина?
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

http://www.google.com/search?q=%22Clien ... rotocol%22

К сожалению это всё, что могу посоветовать.
Но, там есть страницы, на которых описаны подобные проблемы.

http://dev.mysql.com/doc/mysql/en/old-client.html
например
UUU
Сообщения: 310
Зарегистрирован: 17 фев 2004, 09:27
Откуда: Иваново
Контактная информация:

Кажется ошибка заключается в том, что старый (4 версия) ПХП использует короткий кеш для пароля, а мускуль 4 версии - длинный.
Должны быть патчи либо рекомендации, как завести и запаролить юзера в мускуле.
либо (кажется под виндой система?) в виндеус/систем32/ либмускуль.длл старая.
Louie
Сообщения: 5
Зарегистрирован: 10 июн 2005, 12:12
Откуда: г. Санкт-Петербург
Контактная информация:

Спасибо откликнувшимся
либо (кажется под виндой система?) в виндеус/систем32/ либмускуль.длл старая.
Что интересно, что ни в папке WINDOWS, ни в папке WINNT нет ни одного файла в названии которого содержится mysql.

По ссылкам действительно описывается моя проблема, но непонятно, как "Upgrade all client programs to use a 4.1.1 or newer client library"?
Скачал 38 МГб дистрибутив mysql-4.1.12a-win32.zip, установил, но это не помогло.

Буду сносить и заново ставить MsSQL.
Louie
Сообщения: 5
Зарегистрирован: 10 июн 2005, 12:12
Откуда: г. Санкт-Петербург
Контактная информация:

Спасибо всем, кто откликнулся!

Покопался. Помогло:
UPDATE mysql.user SET Password = OLD_PASSWORD('reeris')
WHERE Host = 'localhost' AND User = 'SiteUser';

Неприятно, конечно, чувствовать себя плохо защищенным, но... :)
UUU
Сообщения: 310
Зарегистрирован: 17 фев 2004, 09:27
Откуда: Иваново
Контактная информация:

Ты еще не со всеми плюхам 4 версии столкнулся.
Первое, с чем у меня были траблы, это то, что в 4 версии DateTimeStamp уже не слевок даты и времени, а выдается обыкновенный DateTime. Чтобы выдавался по старому, надо в селекте писать My_DateTimeStamp_field +1
Ответить