Error establishing a database connection (Wordpress - Fichier config OK)
Merci pour les précisions !
@Nico J'ai utilisé un exemple mais illustrer mon problème (mysql5-1.ovh.net), il est dont peut être incorrect
Daniel60
26/08/2010, 09h12
Gaston_Phone
26/08/2010, 08h30
Ouais! j'avais trouvé le début de l'explication.
Merci Nicolas de nous l'avoir précisée.
nicolas.r
26/08/2010, 08h26
Oui en fait il y a eu une mise a jour de certains serveurs, donc le nom de l'host mysql5-1.ovh.net (qui n'est pas correct d'ailleurs avant on utilisais mysql5-1) ne fonctionnais plus, désolé pour l'inaccessibilité du site.
Gaston_Phone
25/08/2010, 20h54
Je suis content que ton problème soit résolu.
Je propose une explication : Au début, le serveur mysql5-1 était pour tous les hébergements mutualisé. Puis, au moment des nouvelles offres Perso, Business, etc. OVH a compartimenté les serveurs SQL selon les offres et petit à petit OVH à sorti les alias mysql5-1.60gp par défaut. et pour toi cela se serait passé le mardi 24 août.
@Gaston et Nicolas
Merci mais j'ai trouvé la source du soucis (enfin en partie, sans pouvoir l'expliquer).
J'ai supprimé mon fichier de config et j'en ai recréé un autre. Dans l'ancien pour indiquer la BDD, j'utilisais :
define('DB_HOST', 'mysql5-1.ovh.net');
que j'ai remplacé par
define('DB_HOST', 'mysql5-1.60gp');
Dans toutes mes sauvegardes (depuis plus d'un an), j'utilisais la première ligne de code et tout fonctionnais très bien.
@Nico Je vais contacter mon collègue qui a déclaré le ticket pour le passer en résolu (on est en plein transfert d'offre sur un autre compte donc voila).
Grand merci à toi Gaston !
Merci à toi Nicolas d’être intervenu sur le forum.
Gaston_Phone
25/08/2010, 14h44
@stnweb : si Nicolas (OVH Team) vient à ton secours : fonce. Tu es sauvé.
nicolas.r
25/08/2010, 13h57
Tu as le numéro du ticket ? je vais te donne plus d'information.
Merci.
Mis à un part un hack, personne. Je suis le seul à avoir les pass et à le gerer.
Gaston_Phone
25/08/2010, 13h42
Envoyé par
stnweb
... rien up sur le FTP....
Toi : NON, mais quelqu'un d'autre ?
Merci Gaston.
Mais je ne comprends pas bien comment les scripts WP peuvent avoir un problème alors que rien n'a été fait entre la minute ou tout était ok, et celle ou tout était down vu que je n'ai rien mis à jour entre temps/rien changé sur la BDD/rien up sur le FTP.
Je vais exposer mon problème sur un forum dédié WP et reviendrais vers toi (ici) pour mettre à jour ce topic
Gaston_Phone
25/08/2010, 13h23
Envoyé par
stnweb
Un ticket d'incident a été ouvert auprès d'OVH qui m'a affirmé que le fichier de configuration était mal renseigné, ce qui n'est actuellement pas le cas.
Je serais plutôt d'accord avec OVH.
Gaston_Phone
25/08/2010, 13h21
Si tu as bien réalisé ce test avec ta vraie base de données, cela veut dire que tu as un problème avec tes scripts Wordpress et que OVH est en dehors du coup.
Aussi je te propose d'aller exposer ton problème sur un forum dédié Wordpress.
Merci !
Edit : Voici le résultat (j'ai remplacé le nom de ma table par test ainsi que le serveur par un autre pour éviter de laisser ce genre d'infos sur un forum)
mysql_connect=Resource id #1 - Erreur=
mysql_select_db=1 - Erreur=
Test de DROP/CREATE de la table 'Tab_test_DB' dans la base 'test' sur le serveur 'mysql5-1'
Supression de la table Tab_test_DB - Erreur= - $sql_query=DROP TABLE IF EXISTS `Tab_test_DB` - $result_query=1
Création de la table Tab_test_DB- Erreur= - $sql_query=CREATE TABLE `Tab_test_DB` ( `Id` int(11) NOT NULL auto_increment, `NOM` varchar(32) NOT NULL default '', `PRENOM` varchar(32) NOT NULL default '', PRIMARY KEY (`Id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 - $result_query=1
Ajout d'un enregistrement - Erreur= - $sql_query=INSERT INTO `Tab_test_DB` values ('','DURANDAL','Michel') - $result_query=1
Ajout d'un enregistrement - Erreur= - $sql_query=INSERT INTO `Tab_test_DB` values ('','DURANDAL','Pierre') - $result_query=1
Ajout d'un enregistrement - Erreur= - $sql_query=INSERT INTO `Tab_test_DB` values ('','accents-éèàâ','Jean-Noël') - $result_query=1
SELECT dans la table Tab_test_DB - Erreur= - $sql_query=SELECT Id, NOM, PRENOM FROM `Tab_test_DB` WHERE NOM='DURANDAL' - $result_query=Resource id #2
SELECT dans la table Tab_test_DB - Erreur= - $sql_query=SELECT Id, NOM, PRENOM FROM `Tab_test_DB` - $result_query=Resource id #3
Nombre d'enregistrements trouvés = 3
Table Tab_test_DB : 1 - $NOM=DURANDAL - $PRENOM=Michel
Table Tab_test_DB : 2 - $NOM=DURANDAL - $PRENOM=Pierre
Table Tab_test_DB : 3 - $NOM=accents-éèàâ - $PRENOM=Jean-Noël
Durée du traitement = 0.17 secondes
Gaston_Phone
25/08/2010, 12h49
Puis-je te suggérer de faire un tout petit script en PHP
test_SQL.php, dans lequel tu vas :
- Ouvrir une connexion à ta base,
- Supprimer une table si elle existe,
- Créer une table,
- Faire une requête dans une table,
- Afficher les résultats de ta requête,
- Fermer ta connexion.
Ce script te permettra,
indépendamment de tous tes autres scripts, de voir si ta base de données est accessible ou non, ainsi que la durée du traitement.
Peux-tu nous donner le résultat de ce test ? Merci.
test_SQL.php
Code PHP:
error_reporting(E_ALL); // Activer le rapport d'erreurs PHP
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$Date_start = getmicrotime();
// ****** Exemples de configuration selon les hébergements mutualisés ******
// Perso
// ------
// $DBhost = "mysql5-14.perso";
// $DBowner = ""; // Ton login SQL
// $DBName = $DBowner;
// Pro
// ---
// $DBhost = "mysql5-6.pro";
// $DBowner = ""; // Ton login SQL
// $DBName = $DBowner;
// ****** Fin des exemples de configuration
// ****** Configuration - Debut ******
$DBhost = "mysql5-6"; // Par exemple
$DBowner = ""; // ton login SQL
$DBpw = ""; // ton password SQL
$DBName = $DBowner;
// ****** Configuration - Fin ******
$Table_SQL = "Tab_test_DB";
$fh_db = mysql_connect($DBhost, $DBowner, $DBpw);
$Erreur = mysql_error();
echo " mysql_connect=".$fh_db." - Erreur=".mysql_error()."
\n";
if (strlen($Erreur) > 0) exit;
$sel = mysql_select_db($DBName, $fh_db);
echo " mysql_select_db=".$sel." - Erreur=".mysql_error()."
\n";
echo " Test de DROP/CREATE de la table '" .$Table_SQL. "' dans la base '" .$DBName. "' sur le serveur '" .$DBhost. "'
";
// Supression de la table Tab_test_DB
$sql_query="DROP TABLE IF EXISTS `Tab_test_DB` "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "Supression de la table Tab_test_DB - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query
\n";
if (strlen($Erreur) > 0) exit;
// Création de la table Tab_test_DB
$sql_query="CREATE TABLE `Tab_test_DB` ( `Id` int(11) NOT NULL auto_increment, `NOM` varchar(32) NOT NULL default '', `PRENOM` varchar(32) NOT NULL default '', PRIMARY KEY (`Id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "Création de la table Tab_test_DB- Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query
\n";
if (strlen($Erreur) > 0) exit;
// Ajout d'un Premier enregistrement
$sql_query="INSERT INTO `Tab_test_DB` values ('','DURANDAL','Michel') "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "Ajout d'un enregistrement - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query
\n";
if (strlen($Erreur) > 0) exit;
// Ajout d'un Deuxième enregistrement
$sql_query="INSERT INTO `$Table_SQL` values ('','DURANDAL','Pierre') "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "Ajout d'un enregistrement - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query
\n";
if (strlen($Erreur) > 0) exit;
// Ajout d'un Troisième enregistrement
$sql_query="INSERT INTO `Tab_test_DB` values ('','accents-éèàâ','Jean-Noël') "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "Ajout d'un enregistrement - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query
\n";
if (strlen($Erreur) > 0) exit;
// SELECT dans la table Tab_test_DB : NOM='DURANDAL'
$sql_query="SELECT Id, NOM, PRENOM FROM `Tab_test_DB` WHERE NOM='DURANDAL' "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "SELECT dans la table Tab_test_DB - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query
\n";
if (strlen($Erreur) > 0) exit;
// SELECT dans la table Tab_test_DB : tous les enregistrements
$sql_query="SELECT Id, NOM, PRENOM FROM `Tab_test_DB` "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "SELECT dans la table Tab_test_DB - Erreur=".mysql_error()." - \$sql_query=$sql_query - \$result_query=$result_query
\n";
if (strlen($Erreur) > 0) exit;
$result_count_row_get = mysql_num_rows($result_query);
$Erreur = mysql_error();
echo " Nombre d'enregistrements trouvés = $result_count_row_get
\n";
if (strlen($Erreur) > 0) exit;
if ($result_query)
{
$Count = 0;
while ($result_query && $row=mysql_fetch_array($result_query))
{
$Count = $Count + 1;
$NOM = $row['NOM'];
$PRENOM = $row['PRENOM'];
echo " Table Tab_test_DB : ".$Count." - \$NOM=".$NOM." - \$PRENOM=".$PRENOM."
\n";
}
}
// Fermeture de la connexion
mysql_close($fh_db);
$Date_end = getmicrotime();
$Duree = $Date_end - $Date_start;
$Duree = sprintf("%01.2f", $Duree);
echo "
Durée du traitement = $Duree secondes
\n";
?>
As-tu supprimé les fichiers temporaires de ton navigateur ? Oui
As-tu testé avec un autre navigateur : IE, FX, Safari, etc. ? Oui
Gaston_Phone
25/08/2010, 11h45
As-tu supprimé les fichiers temporaires de ton navigateur ?
As-tu testé avec un autre navigateur : IE, FX, Safari, etc. ?
Bonjour,
Voici mon problème, j'espère que vous pourrez m'aider !
Date de l'incident : Mardi 24 août aux environs de 10h30
Hier matin, je travaillais sur mon site web (création d'article) lorsqu'après un simple refresh, l'erreur "
Error establishing a database connection" est apparue.
Pensant à un problème peu important (j'ai déjà eu ce type d'erreur, un simple refresh de la page corrigeait le tout), je refresh donc la page, mais cette fois-ci l'effet escompté ne s'est pas produit.
J'ai donc vérifié le fichier de config wp-config.php plusieurs fois pour voir si tout était bien renseigné, rien à signaler de ce côté là. Le fichier n'a jamais été modifié depuis la création du site il y a plus d'un an.
J'ai ensuite vérifié si j'avais encore accès à la BDD (OK) ainsi qu'au serveur de données (OK).
Par la suite je suis tombé sur un article (
http://squishee.fr/error-establishin...onnection-ovh/) d'une personne qui avait eu le même problème et qui préconisait de supprimer tout thème/plug-in inutile, choses que j'ai faite, mais avec un résultat négatif sur la résolution de mon problème.
Un ticket d'incident a été ouvert auprès d'OVH qui m'a affirmé que le fichier de configuration était mal renseigné, ce qui n'est actuellement pas le cas.
Dans l'attente d'une aide de votre part.
Cordialement.