Impossible de se connecter sur une BDD MySQL [Résolu/Fermé]

Signaler
Messages postés
243
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
-
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
-
Bonjour,
je travaille sur Debian 5.0.5.
J'ai installé une solution open source de collecte/gestion de logs dessus. La solution comprend :
- des bases de données (ossimDS, snortDS, osvdbDS, pour stocker les logs ) utilisant MySQL, phpMyAdmin
- un serveur ( pour le traitement des logs )
- un framework ( pour monitorer les logs )
- un agent ( client qui collecte les logs)

- j'ai fini d'installer les bases de données
- coté serveur : j'ai fini de compiler et de configurer. Le problème est que, le serveur n'arrive pas à se connecter sur les bases de données ( la première base concernée : ossimdb). Voici le message d'erreur au lancement du serveur :
aro-debian:/home/aro#  CONNECTION ERROR
 NAME: ossimDS
 PROVIDER: MySQL
 DSN: PORT=3306;USER=root;PASSWORD=988a2a299a;DATABASE=ossim;HOST=127.0.0.1
We can't open the database connection. Please check that your DB is up.


-- j'ai essayé de tester les auters mots de passe possibles mais j'ai toujours l'erreur
-- quand je vais sur phpMyAdmin et voir les privilèges sur la base ossim. j'obtiens :

Utilisateur  	Serveur  	Type  	Privilèges  	"Grant"  	Action
debian-sys-maint 	localhost 	global 	ALL PRIVILEGES 	Oui 	Changer les privilèges
root 	127.0.0.1 	global 	ALL PRIVILEGES 	Oui 	Changer les privilèges
root 	aro-debian 	global 	ALL PRIVILEGES 	Oui 	Changer les privilèges
root 	localhost 	global 	ALL PRIVILEGES 	Oui 	Changer les privilèges


-- Donc selon ce tableau, apparement le serveur doit pouvoir se connecter sur la (les) base(s)
-- Je ne vois pas d'ou vient le problème

merci d'avance pour votre aide

9 réponses

Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
Peux-tu nous reporter le résultat de :

service mysql status  
netstat -ntlp


Vérifie que tu parviens à te connecter à la base à la main :

mysql -u root -p  
mysql -u root -p -h 127.0.0.1  


(une fois identifié, vérifie que les bases en questions existent en tapant) :

show databases;


Exemple :

(root@silk) (~) # service mysql status
/usr/bin/mysqladmin  Ver 8.42 Distrib 5.1.49, for debian-linux-gnu on i486
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          5.1.49-1-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/run/mysqld/mysqld.sock
Uptime:                 23 min 49 sec

Threads: 1  Questions: 127  Slow queries: 11  Opens: 135  Flush tables: 1  Open tables: 32  Queries per second avg: 0.88.


(root@silk) (~) # mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 47
Server version: 5.1.49-1-log (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ma_base            |
| mysql              |
| test               |
| testmysql          |
+--------------------+
6 rows in set (0.08 sec)


Vérifie que dans /etc/mysql/my.cnf et que dans ~/.my.cnf tu n'as pas une section qui "injecte" un mauvais mot de passe :

(mando@silk) (~) $ cat ~/.my.cnf 
[client]
password="pouet"


Bonne chance
Messages postés
243
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
1
Je travaille sous Debian. Apparemment la commande ne marche pas ( whoami = root )
:
aro-debian:/home/aro# service mysql status
bash: service: command not found


Sinon:
aro-debian:/home/aro# mysql status
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


aro-debian:/home/aro# netstat -ntlp
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      2737/inetd      
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:548             0.0.0.0:*               LISTEN      2900/afpd       
tcp        0      0 0.0.0.0:901             0.0.0.0:*               LISTEN      2737/inetd      
tcp        0      0 0.0.0.0:48072           0.0.0.0:*               LISTEN      1489/rpc.statd  
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      3751/mysqld     
tcp        0      0 0.0.0.0:39309           0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      2737/inetd      
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      2737/inetd      
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1477/portmap    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1867/sshd       
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      2400/cupsd      
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      2084/postgres   
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2667/exim4      
tcp        0      0 0.0.0.0:55422           0.0.0.0:*               LISTEN      2726/rpc.mountd 
tcp6       0      0 :::139                  :::*                    LISTEN      2750/smbd       
tcp6       0      0 :::80                   :::*                    LISTEN      4118/apache2    
tcp6       0      0 :::22                   :::*                    LISTEN      1867/sshd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      2400/cupsd      
tcp6       0      0 ::1:5432                :::*                    LISTEN      2084/postgres   
tcp6       0      0 :::445                  :::*                    LISTEN      2750/smbd       

Donc selon ce tableau, mysqld écoute bien sur le port 3306 comme indiqué dans le fichier de config du serveur.

mysql -u root -p et mysql -u root -p -h 127.0.0.1 donnent le même résultat :
aro-debian:/home/aro# mysql -u root -p -h 127.0.0.1
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 313
Server version: 5.0.51a-24+lenny4 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| ossim              | 
| snort              | 
+--------------------+
4 rows in set (0.00 sec)


pour :
(mando@silk) (~) $ cat ~/.my.cnf 
[client]
password="pouet"

j'ai pas très bien compris ce qu'il faut faire. pourquoi il y a un point devant "my.cnf" ?

le resultat donne :
aro-debian:/home/aro# cat ~/.my.cnf
cat: /root/.my.conf: Aucun fichier ou répertoire de ce type
aro-debian:/home/aro# cat ~/my.cnf
cat: /root/.my.conf: Aucun fichier ou répertoire de ce type


Sinon, les seules lignes contenant des informations )à propos de [client] dans /etc/mysql/my.cnf :
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock


Je ne vois toujours pas d'ou vient le problème !
Messages postés
243
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
1
j'ai oublié un petit détail lors du premier post.
J'ai oublié d'afficher ici la commande :
aro-debian:/home/aro# ossim-server -d -c /etc/ossim/server/config.xml 
aro-debian:/home/aro#  CONNECTION ERROR 
 NAME: ossimDS 
 PROVIDER: MySQL 
 DSN: PORT=3306;USER=root;PASSWORD=azerty;DATABASE=ossim;HOST=127.0.0.1 
We can't open the database connection. Please check that your DB is up. 
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 478
Salut,

pour :

(mando@silk) (~) $ cat ~/.my.cnf
[client]
password="pouet"
j'ai pas très bien compris ce qu'il faut faire. pourquoi il y a un point devant "my.cnf" ?


Le point c'est juste une erreur de frappe, puisqu'il n'y a pas.

aro-debian:/home/aro# service mysql status
bash: service: command not found

Plutôt /etc/init.d/mysql status

Sinon, je n'ai pas compris ce que tu veux.
Messages postés
243
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
1
c'est mamimando qui ma demandé de taper les commandes.
Si j'ai bien compris :
il veut vérifier
- si mysqld est bien en écoute, => OK
- si en tant que root j'arrive à entre dans mysql => ok
- s'il n'y a pas d'autres mot de passe qui écrase le mot de passe inscrit dans le fichier de config. => OK, pas d'autre mot de passe.

Donc ce que je veux moi c'est que quand le serveur se connecte sur la base de donnée, il n'y ait pas d'erreur de connexion :)
Messages postés
243
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
1
Je ne sais pas si les infos suivantes vont rapporter quelque chose ... :

aro-debian:/home/aro# /etc/init.d/mysql status
/usr/bin/mysqladmin  Ver 8.41 Distrib 5.0.51a, for debian-linux-gnu on i486
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version		5.0.51a-24+lenny4
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/run/mysqld/mysqld.sock
Uptime:			29 min 14 sec

Threads: 1  Questions: 840  Slow queries: 0  Opens: 1673  Flush tables: 1  Open tables: 64  Queries per second avg: 0.479.
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
Non il n'y avait pas d'erreur de frappe il s'agit bien de ~/.my.cnf (au même titre que ~/.bashrc). C'est un fichier profil que tu peux créer pour compléter les paramètres de /etc/my.cnf et en particulier l'authentification. Je me demandais si le problème ne pouvait pas venir de là.

Pour ce qui est de la commande service, c'est le remplaçant d'une invocation directe du script mais c'est équivalent à :

/etc/init.d/mysql status


On voit donc que le serveur est bien lancé (ce qui confirme le résultat de netstat).

Au niveau du serveur en lui-même, vu que le client mysql parvient à se connecter c'est plutôt bon signe.

A priori tout est ok pour le port, le profil mysql et le port. C'est peut être le mot de passe renseigné (988a2a299a) auprès d'ossim-server qui est invalide (d'ailleurs quand tu auras réglé le problème, pense à le changer parce que là il apparaît en clair sur le forum !).

Il doit s'agir du mot de mot de passe que tu tapes suite à la commande :

mysql -u root -p -h 127.0.0.1


Bon sinon essaye de voir ce que ça donne en changeant la bind-adress dans /etc/mysql/my.cnf à 0.0.0.0 puis relance mysql :

/etc/init.d/mysql restart


Dans ton cas tu ne devrais pas avoir à la corriger puisque normalement ossim-server se connecte en local (normalement) mais c'est juste pour faire un test. Si ça ne change rien, remet 127.0.0.1.

A priori ossim-server se connecte en root sur la base, ce qui est moyen, mais ce qui a le mérite de s'assurer que ce n'est pas un problème de droit au niveau de la base ossim.

Bref pour moi, l'erreur la plus crédible serait au niveau du mot de passe...

Bonne chance
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 478
Salut Miss,

Non il n'y avait pas d'erreur de frappe il s'agit bien de ~/.my.cnf
Effectivement, tu as raison ce fichier peut être crée, en revanche je me demande combien l'utilisent pour avoir la chance que l'erreur se trouve là ;-)
Perso c'est la 1ère fois que j'attends de l'existence de ce fichier.

Merci, de m'avoir ouvrir les yeux ;-))
Messages postés
243
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
1
Merci pour votre aide, ca m'a permis de mieux localiser le problème, et de connaitre davantage comment ca fonctionne :)
Maintenant le serveur peut se connecter aux bases.
En fait c'est tout simplement l'adresse IP dans le fichier de config du serveur qui n'était pas le bon ... puis la base osvbdb n'était pas montée ...
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
Merci pour ces précisions, et bonne continuation !