Comme Chealion l'a mentionné, il y a plusieurs façons dont votre mysql a pu être installé. Chacune d'entre elles placera votre répertoire de données et/ou vos journaux à des endroits différents. La commande suivante vous (et nous) donnera une bonne indication de l'endroit où chercher.
ps auxww|grep [m]ysqld
# Putting brackets around the first char is a `grep`+`ps` trick
# to keep it from matching its own process.
# Note: For zsh compatibility put quotes around the grep regex
Pouvez-vous afficher le résultat de cette commande ici, s'il vous plaît ? Le mien ressemble à ceci :
_mysql 101 0.0 0.3 112104 13268 ?? S 12:30AM 0:13.20 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql --user=mysql --pid-file=/opt/local/var/db/mysql/rbronosky-mbp.pid
root 76 0.0 0.0 600172 688 ?? S 12:30AM 0:00.02 /bin/sh /opt/local/lib/mysql/bin/mysqld_safe --datadir=/opt/local/var/db/mysql --pid-file=/opt/local/var/db/mysql/rbronosky-mbp.pid
A partir de là, vous pouvez voir que mon répertoire de données est /opt/local/var/db/mysql
(parce que j'ai installé via MacPorts). Poussons cette leçon un peu plus loin...
A partir de la première ligne, vous pouvez voir que mon daemon est /opt/local/libexec/mysqld
. Le site mysqld
peut être appelé avec --verbose --help
pour obtenir une liste de toutes les options de la ligne de commande (et voici la partie importante/précieuse !) suivie des valeurs qui seraient utilisées si vous lanciez mysqld au lieu de simplement vérifier la sortie de l'aide. Ces valeurs sont le résultat de votre configuration à la compilation, my.cnf
et toutes les options de la ligne de commande. Je peux exploiter cette fonctionnalité pour trouver EXACTEMENT l'emplacement de mes fichiers journaux, comme suit :
/opt/local/libexec/mysqld --verbose --help|grep '^log'
Le mien ressemble à ça :
log /tmp/mysql.log
log-bin /tmp/mysql-bin
log-bin-index (No default value)
log-bin-trust-function-creators FALSE
log-bin-trust-routine-creators FALSE
log-error /tmp/mysql.error.log
log-isam myisam.log
log-queries-not-using-indexes FALSE
log-short-format FALSE
log-slave-updates FALSE
log-slow-admin-statements FALSE
log-slow-queries (No default value)
log-tc tc.log
log-tc-size 24576
log-update (No default value)
log-warnings 1
LO AND BEHOLD ! Tous les conseils du monde n'allaient pas m'aider parce que mon fichier journal est conservé dans un endroit complètement non standard ! Je garde le mien dans /tmp/
parce que sur mon ordinateur portable, je ne me soucie pas (en fait je préfère) de perdre tous mes journaux au redémarrage.
Mettons tout ça ensemble et faisons de vous un oneliner :
$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'
Exécutez cette commande et vous obtiendrez une liste de tous les journaux pour votre instance de mysql en cours d'exécution.
Profitez-en !
Ce Bash-Fu vous est offert gratuitement par mon engagement envers tout ce qui est Open Source.