Nous avons une application qui fonctionne depuis environ 2 ans maintenant sans aucun problème.
Ce matin, quand je suis arrivé sur le site, j'obtenais une erreur:
Session: connection failed
J'ai vérifié les connexions à la base de données, vérifié l'utilisateur, vérifié les subventions pour l'utilisateur, tout allait bien.
J'ai créé une page de test en utilisant les informations de connexion dans le fichier .inc.xml
Vous avez une erreur de connexion mysql.
Voici le fichier d'origine:
<TYPE>mysql</TYPE>
<HOST>dbl</HOST>
<USER>dbuser</USER>
<PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD>
Le nom d'hôte du serveur n'est pas dbl
J'ai changé la deuxième ligne en ceci:
<TYPE>mysql</TYPE>
<HOST>localhost</HOST>
<USER>dbuser</USER>
<PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD>
Ça se connectait bien.
Apporté la même modification au fichier .inc.xml d'origine et l'application était de sauvegarde et fonctionnait correctement.
Mes questions):
J'ai vérifié les journaux d'audit, les connexions, les requêtes, le système n'a pas été accessible depuis environ 3 semaines.
Le fichier .inc.xml a été modifié pour la dernière fois il y a plus d'un an.
Pourquoi l'application arrêterait-elle soudainement de prendre dbl comme hôte?
D'où vient ce nom d'hôte dbl?
Disposition du système:
[root@acpr-web-x ~]# cat /proc/version
Linux version 2.6.32-358.2.1.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Wed Feb 20 12:17:37 EST 2013
[root@acpr-web-x ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Aug 15 2014 03:02:07
[root@acpr-web-x ~]# php -v
PHP 5.3.3 (cli) (built: Oct 23 2014 06:58:46)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Mysql Server version: 5.1.73-log Source distribution
use mysql; select user,host,password from user
cela peut révéler un changement dans l'hôte à partir duquel l'utilisateur 'dbuser' est autorisé à accéder à la base de données. Les causes potentielles sont finies, devraient pouvoir le déterminer. Je lancerais une vérification rapide sur /etc/nsswitch.conf mais ce fichier est un peu obscur ces jours-ci et donc les chances de le changer sont faibles, mais cela vaut la peine d'être vérifié (il contrôle l'ordre dans lequel les choses se résolvent sur le système).