web-dev-qa-db-fra.com

Emplacement du journal des erreurs?

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

15
Maulik Patel
  • 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
  • commencer arrêter - mysql.log (pas très intéressant) - log_error
  • Journal de rétablissement InnoDB - iblog*

Voir la variable basedir et datadir pour l'emplacement par défaut 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.

11
Rick James

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

  • log_error pour le journal des messages d'erreur;
  • general_log_file pour le fichier journal des requêtes générales (si activé par general_log);
  • slow_query_log_file pour 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 à https://stackoverflow.com/a/37685324/470749

3
Ryan

À part le journal des erreurs sous 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.

general_log and general_log_file server variables in the Navicat Server Monitor tool

Meilleures salutations!

2
Rob Gravelle

Oui, MySQL écrit un fichier journal.

Son chemin est /var/log/mysql.log, défini dans le log_error variable de configuration.

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

2
Brijesh Goswami

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%';
1
Jon

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

 mysqladmin variables | grep log_error
1
Sachin Singh

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

1
Hector