![]() |
|
Модераторы: skyboy |
![]()
|
|
| Kludge |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
пришло время обращаться к БД через PHP.
Пробовал второй способ как обычно через MS
последняя картина вроде как приятнее чем первая, но ... Подскажите пожалуйста, что я не так делаю. MySQL как служба работает. на компе стоит Апач, PHP 4, MySQL 4.1 |
||||||||||
|
|||||||||||
| mr.fox |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 13.3.2005 Где: Ирландия Репутация: 1 Всего: 2 |
открой файл my.ini и добавь туда такую строку
в поле mysqld перезапусти серв, и будет тебе счастье |
|||
|
||||
| Kludge |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
неа, не хотит |
|||
|
||||
| mr.fox |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 13.3.2005 Где: Ирландия Репутация: 1 Всего: 2 |
подключаться надо только так а покажи второю строчку кода |
|||
|
||||
| Illuminaty |
|
||||
![]() /*Антон Захаров*/ ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1238 Регистрация: 19.3.2005 Где: Россия, Казань Репутация: 3 Всего: 56 |
mr.fox, насколько я умею считать, в коде
Это сообщение отредактировал(а) Illuminaty - 12.1.2006, 22:35 |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
||||
|
||||
| Illuminaty |
|
|||
![]() /*Антон Захаров*/ ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1238 Регистрация: 19.3.2005 Где: Россия, Казань Репутация: 3 Всего: 56 |
Скорее всего, судя по
|
|||
|
||||
| Kludge |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
вот эта вещь не хочет
line 8
выдает вотакое:
а это как? есть где почитать как это сделать? в php.ini БД подключена, но все равно не хочет, а через консоль все нормально (тока ж мне надо к РHP прикрутить Это сообщение отредактировал(а) Kludge - 13.1.2006, 07:33 |
||||||
|
|||||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Kludge обрати внимание на то, как написано в топике, на который я дал ссылку.
И что пишешь ты. Это пишется в файлах my.ini или my.cnf |
|||
|
||||
| Kludge |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
ну приписываю это дело в файл my.ini, и тогда БД как служюа вообще не запускается
тупость какая-то, неужели нельзя изготавливать уже готовые пакеты типа MySQL+PHP+сервер дело дрянь . . . |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
||||
|
||||
| Kludge |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
Вот ответы на все наши беды и несчастья!!
Ошибка при подключении к серверу: Client does not support authentication protocol Начиная с версии 4.1, в My SQL используется новый протокол аутентификации. В новом протоколе алгоритм хеширования данных аутентифмкации отличается от алгоритма более ранних версий сервера My SQL. По сути вся проблема сводится к тому, что хеш пароля “mypass” в версиях старше 4.1 (т.е. 4.1.*, 5.0.* и т.д.) имеет вид *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 (строка длиннее 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 Что бы решить возникшую проблему, можно пойти по одному из следующих путей: Обновить всех клиентов (их библиотеки) до версии 4.1.1 или старше. Этот вариант идеальный, но не всегда подходит, потому что не для всех приложений существуют соответствующие обновленные библиотеки. Создать для «старых» клиентов учетные записи, которые хранят хеш пароля в старом формате. Для каждой учетной записи задать хеш пароля в старом формате. Это делается с помощью одной из двух конструкции:
Задать серверу в файле конфигурации (my.ini, my.cnf) директиву, которая указывает серверу использовать старый алгоритм хеширования пароля. Эта директива:
При этом не забудьте, что Вам нужно будет конвертировать хеши паролей из нового формата в старый формат. Это нужно будет сделить для всех учетных записей, у которых хеш пароля уже хранится в новом формате. Для того, что бы выбрать пользователей, у которых хеши паролей хранятся в новом формате нужно написать запрос вида:
Далее, для каждого пользователя в полученной таблице вы конвертируете пароль любым из вариантов, предложенным пунктом выше. -------------------------------------------------------------------------------- P.S. Если Вы программируете на языке PHP и версия языка младше версии 5.1, то знайте, что расширение My SQL использует старый протокол аутентификации, т.е. Вам придется работать со старым протоколом аутентификации, и лучше всего перевести сервер в режим старого протокола авторизации. В PHP версий старше 5.1. существует расширение mysqli, которое поддерживает новый протокол аутентификации. Не забудьте, что таблица mysql.user хранит хеши паролей. Эти хеши получены с помощью алгоритмов необратимого шифрования. Из этого следует, что Вы никогда не узнаете, какой пароль был источником для данного хеша и Вам придется создавать новые пароли для учетных записей. После создания паролей сообщите новые данные учетных записей всем пользователям этих учетных записей. взято отсюда http://phpclub.ru/faq/wakka.php?wakka=MySQ...word&v=16ec |
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |