Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/03/2007, 17h01   #1
Invité de passage
 
Inscription : mars 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 2
Points : 1
Points : 1
Par défaut Écrire le log des Erreurs via FTP sur UNIX

Salut,

j'aimerais pouvoir faire écrire le log des erreurs de mes requêtes lancées à distance par un client UNIX au serveur MySQL, non pas localement sur le serveur MySQL mais sur la machine UNIX qui fait la requête.

Sur cette page : http://dev.mysql.com/doc/refman/5.0/fr/error-log.html

on peut lire ceci:

"Depuis MySQL 4.0.10, vous pouvez spécifier où mysqld stocke le fichier d'erreurs avec l'option --log-error[=file_name]. Si aucune valeur file_name n'est donnée, mysqld utilise le nom host_name.err et écrit le fichier dans le dossier de données. (Avant MySQL 4.0.10, le nom de fichier d'erreurs Windows était mysql.err.) Si vous exécutez FLUSH LOGS, le log d'erreur est renommé avec le suffixe -old et mysqld crée un nouveau fichier de log vide."

J'aimerais ici rediriger "file_name" vers la machine cliente via FTP avec identification du style host-user-pwd-fileaddress.

est-ce possible?

merci infiniment.
Alnsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 17h24   #2
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
Citation:
Envoyé par Alnsam
Salut,

j'aimerais pouvoir faire écrire le log des erreurs de mes requêtes lancées à distance par un client UNIX au serveur MySQL, non pas localement sur le serveur MySQL mais sur la machine UNIX qui fait la requête.


est-ce possible?

merci infiniment.

non

vous pouvez collecter les erreurs dans le programme qui fait les requêtes côté client, (ce qui semble le plus raisonnable)

mais vous ne pouvez pas rediriger les logs du serveur en fonction du client qui se connecte (… que faire quand il y en a plusieurs… ?)
et vous ne pouvez diriger les logs du serveur que sur un espace disque "montable" par l'OS du serveur : les logs sont générés dans mysqld par des instructions d'écriture dans des fichiers (genre fprintf), le protocole FTP ne permet pas au serveur de considérer cela comme un volume sur lequel il est possible d'accéder aux fichiers à travers les fonctions I/O habituelles…
(il faudrait au minimum monter le volume FTP à travers quelque chose comme WebDAV…)

et de toute façon du côté serveur, le log contiendra tout : y compris ce qui ne concerne pas vos requêtes, par exemple les erreurs des autres utilisateurs connectés…
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 15h49   #3
Invité de passage
 
Inscription : mars 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 2
Points : 1
Points : 1
Merci pour la réponse claire et précise.

mais ça m'amène à poser une autre question:

"vous pouvez collecter les erreurs dans le programme qui fait les requêtes côté client, (ce qui semble le plus raisonnable)"

--> savez-vous comment collecter les erreurs du type "database error" qui se trouvent du côté du serveur MySQL ?

Merci encore pour cette dernière question.
Alnsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 16h10   #4
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
Citation:
Envoyé par Alnsam
--> savez-vous comment collecter les erreurs du type "database error" qui se trouvent du côté du serveur MySQL ?
précisez un peu votre demande…

voulez-vous dire : lorsque vous êtes connecté au serveur sur une machine client distincte, comment voir les logs du serveur ?

si c'est cela, en général ce que je fais c'est un
Code :
1
2
 
tail -f /var/log/mysqld.log
via une connection ssh…
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h02.


 
 
 
 
Partenaires

Hébergement Web