Impossible de se connecter sur une BDD MySQL

Résolu/Fermé
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 - 18 août 2010 à 12:32
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 19 août 2010 à 13:19
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
A voir également:

9 réponses

mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
Modifié par mamiemando le 18/08/2010 à 12:42
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
0
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
18 août 2010 à 14:35
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 !
0
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
Modifié par razuki le 19/08/2010 à 10:12
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. 
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 août 2010 à 15:21
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
Modifié par razuki le 18/08/2010 à 16:13
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 :)
0
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
18 août 2010 à 16:57
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.
0
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
18 août 2010 à 19:48
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
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
19 août 2010 à 00:24
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 ;-))
0
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
19 août 2010 à 10:12
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 ...
0
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
19 août 2010 à 13:19
Merci pour ces précisions, et bonne continuation !
0