Erreur : Mysql 4.1+ using the old insecure auth

Eléphanteau du PHP | 43 Messages

04 mars 2012, 19:15

Bonjour à tous!!!

Voila j'ai un soucis de connexion a ma base de donnée. Je m'explique. Tout marché bien avant, puis j'ai revu mon site (sur wamp apache 2.2
php 5.3.8 et mysql 5.5.)

Je vais sur mon hébergeur je mets le dossier config.php que voici :

<?php
//On demarre les sessions
session_start();

/******************************************************
----------------Configuration Obligatoire--------------
Veuillez modifier les variables ci-dessous pour que l'
espace membre puisse fonctionner correctement.
******************************************************/

//On se connecte a la base de donnee
mysql_connect('BBB', 'CCC', 'PPP');
mysql_select_db('AAA');

//Email du webmaster
$mail_webmaster = 'XXX';

//Adresse du dossier de la top site
$url_root = '';

/******************************************************
----------------Configuration Optionelle---------------
******************************************************/

//Nom du fichier de laccueil
$url_home = 'index.php';

//Nom du design
$design = 'default';
?>
ensuite je mets ma bdd a jour, puis je vais sur le site avant de découvrir cette erreur mysql : OK packet 1 bytes shorter than expected in /htdocs/config.php on line 12
�chec lors de la connexion : SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file

Je ne comprends rien du tout au message ^^, avotre avis, d'ou vient le probleme?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

05 mars 2012, 00:27

salut,

comme indiqué dans le message d'erreur il faut recréer le mot de passe de connexion avec la "nouvelle méthode" de stockage.

avec (dansune console mysql)
SET PASSWORD = PASSWORD('your_existing_password');
où your_existing_password c'est ton mot de passe actuel.

tu peu aussi ajouter (avant) set old_passwords = 0

@+
Il en faut peu pour être heureux ......