Эта тема на forum.dklab.ru


Николай Булыгин: php 4.3.9 + MySQL 4.1.7 не совместимы?
Установил subj-вых версий php и mysql, по phpinfo(); получаю такой ответ в строке MySQL: Client API version 3.23.49, пытаюсь установить связь с сервером, получаю такой ответ:

Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in c:\home\...\www\index.php on line 11
Client does not support authentication protocol requested by server; consider upgrading MySQL client

Не могу понять где прописываются настройки для mysql в php, точнее вижу, но не совсем те, поддержка же уже есть для mysql, и встроена в php!? Где и какую dll ему прописать?

С уважением, Николай.
Юрий Насретдинов:
Client API version 3.23.49
3, а MySQL-сервер 4. Нужно использовать соотвествующие функции для работы с MySQL (хотя... попробуйте для начала оригинальный дистрибутив PHP поверх поставить)
Николай Булыгин:
Распаковал поверх installer-a, zip-архив, попытался покопировать длл-ки в систем32, перезапускал апач, не помогло... ;-(( На пхп-клабе обсуждают активно что-то про лицензии, я так понял, что нужно собрать php с клиентской библиотекой нужной версии, но тем пользователям у кого windows - сделать это не представляется возможным ;-(( Или я не правильно понял!? В php.ini что-нибудь нужно прописывать? Копировать dll? Апач я так понял тут не причем, и mysql, все дело в php!?
Николай Булыгин:
Нужно использовать соотвествующие функции для работы с MySQL
Какие соответсвующие? Пишу код:

if (!mysql_connect("127.0.0.1", "root", "password"))
{
echo mysql_error();
exit;
}


Разве mysql_connect не соответвующая функция?
Дмитрий Котеров:
http://php.net/mysqli посмотрите.
Николай Булыгин:
http://php.net/mysqli посмотрите.
Дмитрий, к сожалению я не понимаю, причем тут mysqli? Или же вы мне предлагаете прикрутить клиентскую библиотеку от mysqli, и заменить все в коде mysql на mysqli? Объясните пожалуйста, можно ли сделать возможным обращение к базе данных из php 4.3.9 к mysql версии 4.1.7? Или же это не возможно?
Евгений Галашин:
Объясните пожалуйста, можно ли сделать возможным обращение к базе данных из php 4.3.9 к mysql версии 4.1.7?
Можно. (-;
Николай Булыгин:
Можно. (-;
Евгений, спасибо, вы оставляете во мне надежду! Но я пришел к выводу, что научить общаться php 4.3.9 c Mysql версии 4.1.0 и выше под windows нельзя. (по крайней мере мне) Откатился до версии 4.0.18 все прекрасно работает.
Maus:
Николай Булыгин:
У меня сабжевая связка работает (MySQL 4.1.7-nt) через старые mysql_connect, mysql_query и т.п.
Правда, я переставлял раза 4 или 5, пока оно заработало...
в плане установки и наворотов 3.23.хх и 4.0.хх отличаются куда меньше, чем 4.0.хх и 4.1.7
Дмитрий Котеров:
Попробуйте, что ли, в Гугле или в пользовательских комментариях PHP и MySQL поискать ответ...
Николай Булыгин:
(MySQL 4.1.7-nt)
Т.е. сам демон(служба) называется не mysqld, а mysqld-nt? По умолчанию(может нет) через красивый установщик поставился mysqld. Может в этом дело?

Правда, я переставлял раза 4 или 5, пока оно заработало...

хммм... а в чем проблема была? То же самое писало, что версия клиента старая? Как проблему победили? Или же простым \"научным тыком\"?

в плане установки и наворотов 3.23.хх и 4.0.хх отличаются куда меньше, чем 4.0.хх и 4.1.7
Я так понимаю, что после 4.1.* они глобально что-то переписали...
Дмитрий Котеров:
Ветка выделена в отдельную тему «Квотинг.»,
расположенную в форуме Тестовый форум (24 Ноября 2004, 04:55).
Николай Булыгин:
Не за что Дмитрий! Все же укажите пожалуйста на мою ошибку, это я возвращаясь к теме mysql 4.1.7, почему у меня стандартными функциями не заработало ничего?
Maus:
Николай Булыгин:
Извиняюсь за долгое молчание.
Я переставлял из-за того, что у меня в таблицах закорючки были. Но эта проблема решилась.

Еще такой момент: не ставьте новый MySQL в папку старого (у меня до этого стоял 4.0.20d). Переклинивает InnoDB - там где-то error.log валяется и в нем это четко прописано.
Сохранять \share\charsets\cp1251.conf вроде не нужно - он xml-ный берет.
Николай Булыгин:
Я переставлял из-за того, что у меня в таблицах закорючки были. Но эта проблема решилась.


Еще такой момент: не ставьте новый MySQL в папку старого (у меня до этого стоял 4.0.20d). Переклинивает InnoDB - там где-то error.log валяется и в нем это четко прописано.
Сохранять \share\charsets\cp1251.conf вроде не нужно - он xml-ный берет.
Я обычно делал дамп всей базы, сносил сервер, подчищал остатки где находил, ставил новый и... обычно без проблем...
Maus:
Николай Булыгин:
у Вас WinXP?
Не знаю ,что еще полезного сказать.. Помню ,что вручную вычищал остатки 4.0.20d из реестра (чтоб от лишнего сервиса избавиться). Сейчас посмотрел - почему сервис использует именно mysqld-nt, неясно : в файлах конфигурации не нашел, во всяком случае.

Нашел в реестре такую строку:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL]
"ImagePath" => "C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld-nt" --defaults-file="C:\Program Files\MySQL\MySQL Server 4.1\my.ini" MySQL
Николай Булыгин:

у Вас WinXP?

нет, у меня w2k pro, а что это принципиально?

Не знаю ,что еще полезного сказать.. Помню ,что вручную вычищал остатки 4.0.20d из реестра (чтоб от лишнего сервиса избавиться). Сейчас посмотрел - почему сервис использует именно mysqld-nt, неясно : в файлах конфигурации не нашел, во всяком случае.

Я ставил 4.1.7 на свежую винду, до этого не стояло ничего.


Нашел в реестре такую строку:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL]
"ImagePath" => "C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld-nt" --defaults-file="C:\Program Files\MySQL\MySQL Server 4.1\my.ini" MySQL
хмм... там же можно было выбирать при установке, в красивом таком мастере, какой использовать сервер, и для каких нужд, вот тут и написано, чтобы загружался mysqld-nt.

Эта тема на forum.dklab.ru