Problème: Could not connect to MySQL. [Fermé]

Signaler
Messages postés
3
Date d'inscription
mercredi 24 octobre 2012
Statut
Membre
Dernière intervention
29 octobre 2012
-
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
-
Bonjour,

je viens de configurer un serveur dédié sous redhat (apache, php et mysql).

lorsque j'ai transferer les fichiers de mon site (conçu avec joomla), j'ai une erreur : Could not connect to MySQL.

sachant que je peux bien accéder à ma base de données à travers des commandes ssh sans problème.

est ce que quelqu'un a une idée sur la source du problème

merci d'avance

4 réponses

Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
Regarde dans le fichier de configuration de joomla l'adresse de ton serveur mysql, son port, le profil mysql utilisé etc (typiquement dans le fichier configuration.php)
https://www.support-joomla.com/index.php

Ensuite, depuis la machine sur laquelle est installé joomla, essaye de te connecter au serveur mysql avec la commande mysql :

mysql -u login -p -h hostname -P port


... en remplaçant login, hostname et port par les valeurs adéquates.

Sur la machine sur laquelle est installé le serveur mysql, donne moi le résultat de :

sudo netstat -ntlp | grep mysql


Toujours sur cette machine, vérifie que tu arrives à te connecter :

mysql -u login -p


Indique moi le résultat des différentes commandes.

Bonne chance
Messages postés
3
Date d'inscription
mercredi 24 octobre 2012
Statut
Membre
Dernière intervention
29 octobre 2012

Bonjour, et merci pout ta réponse;

pour le fichier de configuration, je lai vérifier tout semble ok;

j'ai testé la commande sudo netstat -ntlp | grep mysql, voila le resultat:

tcp 0 0 81.192.52.91:3306 0.0.0.0:* LISTEN 5066/mysqld

je me suis connecté a mysql avec les 2 commandes sans problèmes avec root; mais quand j'essaye de me connecter avec un utilisateur que j'ai crée il me donne: Access denied for user
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
Ok et je suppose que tu n'arrives pas à te connecter avec l'utilisateur indiqué dans le fichier de configuration joomla ? Si c'est le cas, vérifie que cet utilisateur mysql a été créé.

Par ailleurs autre question. Je vois que ton serveur mysql écoute sur 81.192.xx.xx:3306 ce qui signifie qu'il écoute des appels pouvant venir de n'importe où. Est-ce que ton joomla et ton serveur mysql sont installés sur deux machines différentes ?
- Si oui, ça peut se comprendre mais au moment de créer l'utilisateur mysql utilisé par joomla, il faut veiller à quelle(s) ip(s) peuvent utiliser ce compte pour limiter les risques.
- Sinon je t'invite à changer dans /etc/mysql/my.cnf l'attribut bind-address et remplacer 0.0.0.0 par 127.0.0.1 pour n'écouter que les connexions locales, ainsi personne d'extérieur à la machine ne pourra tenter de se connecter à ton serveur mysql.

Ensuite il faut regarder comment ton utilisateur mysql est créé. Une fois connecté avec la commande mysql -u root -p [...], lance :

mysql> select host,user from mysql.user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| 127.0.0.1 | root             |
| localhost | debian-sys-maint |
| localhost | redmine          |
| silk      | root             |
+-----------+------------------+


Comme tu le vois ici root peut accéder depuis silk et 127.0.0.1 au serveur, tandis que redmine et debian-sys-maint peuvent y accéder depuis localhost. Il faut vérifier si ton joomla est sur une autre machine que son utilisateur mysql depuis cette ip est bien dans la table mysql.user. Le cas échéant il faut créer cette ligne en invoquant la commande create user....
https://dev.mysql.com/doc/refman/8.0/en/create-user.html

Bonne chance
Messages postés
3
Date d'inscription
mercredi 24 octobre 2012
Statut
Membre
Dernière intervention
29 octobre 2012

Bonjour, et merci pour ta réponse.

pour mon joomla, il est installé au même serveur que mysql.

j'avais changé le bind-adress juste pour testé avec une installation joomla distante, donc je l'ai remis 127.0.0.1 comme vous m'avez indiqué.

j'ai créer un nouvel utilisateur et je lui est donné les priviléges de ma base de données, maintenant je peux me connecter avec cet utilisteur a travers des commandes ssh; mais le problème persiste avec joomla.
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
Attention tu confonds utilisateur ssh (donc utilisateur au sens linux) et utilisateur mysql (donc au sens de la table mysql.user). Ce sont deux notions complètement indépendantes. Ce qui est important de vérifier, c'est si l'utilisateur toto@localhost existe au sens mysql (en supposant que dans le fichier de configuration de joomla, joomla se connecte avec le login toto et sur le serveur localhost).

Au besoin reporte-moi le contenu de ce fichier (en anonymisant le mot de passe s'il y figure) et de ta requête sql...

Bonne chance