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

Форум MySQL

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

 

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

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

тема: Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server
 
 автор: loop69   (12.06.2007 в 23:10)   письмо автору
 
 

При попытке соединиться из php скрипта (сервер Apache2), ругается

Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Sites\home\localhost\www\mysql.php on line 7
Не могу соединиться с базой test!
Client does not support authentication protocol requested by server; consider upgrading MySQL client

До сих пор юзал Денвер, так что проблем с коннектом не было. Просто не знаю, что он хочет, чтобы я обдумал обновление MySQL client? Может, кто подскажет, что сделать?

   
 
 автор: Caman   (12.06.2007 в 23:47)   письмо автору
 
   для: loop69   (12.06.2007 в 23:10)
 

А где код самого скрипта?

   
 
 автор: Trianon   (13.06.2007 в 01:36)   письмо автору
 
   для: Caman   (12.06.2007 в 23:47)
 

Изменяли пароли пользователей MySQL через консольный клиент?

   
 
 автор: loop69   (13.06.2007 в 12:11)   письмо автору
 
   для: Caman   (12.06.2007 в 23:47)
 

Код:

<?
define("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","1969");

if(!mysql_connect(HostName,UserName,Password))
{ echo "Не могу соединиться с базой ".DBName."!<br>";
echo mysql_error();
exit;
}
mysql_select_db(DBName);

// Создаем таблицу t. Если такая таблица уже есть,
// сообщение об ошибке будет подавлено, т.к.
// используется "@"
@mysql_query("create table t(id int,a text)");

// Вставляем в таблицу 10 записей
for($i=0; $i<10; $i++)
{ $id=time();
mysql_query("insert into t(id,a) values($id,'Стр$i!')");
}

// Выводим все записи
$r=mysql_query("select * from t");
for($i=0; $i<mysql_num_rows($r); $i++)
{ $f=mysql_fetch_array($r);
echo "$f[id] -> $f[a]<br>\n";
}
?>

Пароль не изменял.

   
 
 автор: Trianon   (13.06.2007 в 12:23)   письмо автору
 
   для: loop69   (13.06.2007 в 12:11)
 

http://dev.mysql.com/doc/refman/4.1/en/old-client.html

Выполните из-под консольного клиента команду
SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('1969');

   
 
 автор: loop69   (13.06.2007 в 17:18)   письмо автору
 
   для: Trianon   (13.06.2007 в 12:23)
 

Не помогает :(

Вот, что выдает phpinfo

mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 3.23.49

Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host localhost localhost
mysql.default_password 1969 1969
mysql.default_port 3306 3306
mysql.default_socket no value no value
mysql.default_user root root
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off

Может быть это прояснит?

   
 
 автор: Trianon   (13.06.2007 в 17:44)   письмо автору
 
   для: loop69   (13.06.2007 в 17:18)
 

У Вас старый клиент (для php дело обычное) и новые криптохеши паролей (дело редкое).
Читайте и исполняйте то, что написано по ссылке.
Вот здесь примерно то же самое на русском
http://phpclub.ru/faq/wakka.php?wakka=MySQLOldPassword&v=16ec

   
 
 автор: loop69   (13.06.2007 в 21:51)   письмо автору
 
   для: Trianon   (13.06.2007 в 17:44)
 

Огромное спасибо!!! :)

   
Rambler's Top100
вверх

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