Section courante

A propos

Section administrative du site

Écriture des requêtes dans un journal de bord sur disque

Contrairement à SQL Server, lequel utilise le SQL Server Profiler fournit avec le logiciel SSMS, le MySQL utilise plutôt un fichier de sortie. Pour le déboguage d'une requête SQL de MySQL, on peut indiquer à MySQL qu'il faut écrire dans le fichiers «/data/www/monsite/», en entrant ses commandes :

  1. SET GLOBAL log_output = "FILE";
  2. SET GLOBAL general_log_file = "/data/www/monsite/mysqlrequest.log";
  3. SET GLOBAL general_log = 'ON';

Ainsi vous verrez, tous les requêtes exécutés dans votre BD, comme le montre l'exemple suivant :

/usr/libexec/mysqld, Version: 5.5.29-cll (MySQL Community Server (GPL) by Atomicorp). started with:
Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock

Time Id Command Argument
130528 15:51:31 58 Connect root@localhost as on
                58 Init DB unis_sys
                58 Query SET NAMES 'UTF8'
                58 Query SET sql_mode=''
                58 Query SELECT * FROM matable1
                58 Query SELECT * FROM matable2
                58 Query SELECT * FROM matable1 ORDER BY name
                58 Quit

Remarque

Refus d'insertion de données à cause des contraintes

Lorsqu'on importe des données de façon isolé pour tester des mécanismes, il n'est pas rare que les données refuses de s'insérer dans une table. Pour contourner le problème il faut simplement désactiver cette vérification que fait MySQL et le tour est joué. Ainsi pour désactiver temporairement les contraintes des «FOREIGN KEY», il faudra envoyer la requête SQL suivante :

  1. SET FOREIGN_KEY_CHECKS = 0; 

Cette requête SQL permet de réactiver les contraintes des «FOREIGN KEY» une fois que vos INSERT de MySQL sont terminés :

  1. SET FOREIGN_KEY_CHECKS = 1; 

Voir également

Article - Les géants de l'informatique - Oracle

Dernière mise à jour : Dimanche, le 20 octobre 2013