Emplacement du journal des erreurs?

15

MySQL écrit-il un fichier journal? Si oui, quel est son chemin (sur ubuntu / Linux)?

Maulik Patel
la source

Réponses:

11
  • Journal général - toutes les requêtes - voir VARIABLE general_log
  • Journal lent - requêtes plus lentes que long_query_time-slow_query_log_file
  • Binlog - pour la réplication et la sauvegarde - log_bin_basename
  • Journal de relais - également pour la réplication
  • erreurs générales - mysqld.err
  • start / stop - mysql.log(pas très intéressant) -log_error
  • Journal de rétablissement InnoDB - iblog*

Voir la variable basediret l' datadiremplacement par défaut pour de nombreux journaux

Certains journaux sont activés / désactivés par d'autres VARIABLES. Certains sont écrits dans un fichier ou dans une table.

Rick James
la source
3

Les journaux MySQL sont déterminés par les variables globales telles que:

  • log_error pour le journal des messages d'erreur;
  • general_log_filepour le fichier journal des requêtes générales (si activé par general_log);
  • slow_query_log_filepour le fichier journal des requêtes lentes (si activé par slow_query_log);

Pour voir les paramètres et l'emplacement des journaux, exécutez cette commande shell:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

Merci à @kenorb sur /programming//a/37685324/470749

Ryan
la source
2

Oui, MySQL écrit un fichier journal.

Son chemin est /var/log/mysql.log, défini dans la log_errorvariable config.

Il existe également un fichier journal des erreurs /var/log/mysql.err

Brijesh Goswami
la source
2

À part le journal des erreurs sur Windows, aucun des journaux MySQL n'est activé. Il s'agit de maximiser les ressources du serveur pour la base de données. Pour cette raison, il est conseillé de les activer au besoin.

Cela peut également rendre difficile de savoir quels journaux sont activés à un moment donné. Pour cette raison, j'aime avoir toutes mes variables de configuration en un seul endroit afin de pouvoir les rechercher rapidement. Il existe quelques outils GUI qui sont bons pour cela. J'utilise personnellement Navicat pour MySQL et Navicat Premium .

Les deux ont un outil de surveillance qui contient un onglet avec toutes les variables de serveur dans une liste complète.

Variables de serveur general_log et general_log_file dans l'outil Navicat Server Monitor

Meilleures salutations!

Rob Gravelle
la source
Hélas, cela ne fixera la valeur qu'au prochain redémarrage. OTOH, le journal général est un gros disque, il est donc généralement bon de le désactiver juste après avoir obtenu les informations dont vous avez besoin. (D'autres journaux peuvent probablement être laissés sur ON.)
Rick James
1

Exécutez la commande ci-dessous sur le terminal pour trouver le chemin exact:

 mysqladmin variables | grep log_error
Sachin Singh
la source
1

Les fichiers journaux se trouvent généralement sur /var/log/. Les fichiers journaux du serveur MySQL sont généralement identifiés par mysql.nameOfLogFile.

Hector
la source
1

Un peu tard ici,

Vous pouvez trouver l'emplacement actuel du fichier journal dans MYSQL en inspectant les variables globales.

Par exemple, ce qui suit montrera si votre journal général est activé ou désactivé et l'emplacement du fichier général_log sur votre système.

SHOW GLOBAL VARIABLES LIKE '%general%';
Jon
la source