MySQL Journal des requêtes invalides
JE NE SUIS PAS L'EXÉCUTION DE CES COMMANDES À PARTIR DE PHP!
J'ai MySQL log_error valeur définie dans le fichier /var/log/mysql/erreur.journal
Cependant lorsque je me connecte à une base de données et exécuter une commande SQL, l'erreur n'apparaît pas dans le journal.
SELECT *
FROM some_table
where this_is_invalid_and_will_fail="Doesn't matter because column doesn't exist!";
Il y a des commandes en cours d'exécution à partir d'un type d'application windows. Tout ce que je veux savoir est ce qui invalide les commandes de son envoi au serveur MySQL afin que je puisse tenter de les résoudre.
source d'informationauteur dunpealslyr
Vous devez vous connecter pour publier un commentaire.
Journal des erreurs ne pas faire:
http://dev.mysql.com/doc/refman/5.6/en/error-log.html
MySQL n'a pas de journal non valide/l'échec des requêtes n'importe où.
Si c'est à des fins de débogage, vous pouvez essayer de configurer un Proxy MySQL, ce qui pourrait les journaux ce que je pense:
http://dev.mysql.com/downloads/mysql-proxy/
Fondamentalement, il existe 2 façons.
1) installation d'une sorte de proxy, ce qui peut d'erreur du journal des requêtes. Il y a beaucoup de fourche d'origine mysql proxy (ce qui a été mentionné par @Mchl) - https://github.com/search?utf8=%E2%9C%93&q=MySQL+Proxy Aussi, vous pouvez trouver la dernière version de l'original mysql proxy ici https://github.com/mysql/mysql-proxy
Je n'aime pas cette manière, parce que c'est une sorte de trop compliqué pour rapide debug
2) vous pouvez activer le journal général de mysql (qui va enregistrer TOUTES les requêtes).
Il va créer de gros frais généraux et ne correspond pas aux exigences de production, mais sa façon facile et rapide pour corriger les bugs dans un environnement de développement.
Suffit de vous connecter à votre serveur mysql et exécuter
SET GLOBAL general_log = 'ON';
SHOW GLOBAL VARIABLES LIKE 'general_log%';
Vous permettra de voir les journaux de localisation, comme
+------------------+------------------------+
| Variable_name | Value |
+------------------+------------------------+
| general_log | OFF |
| general_log_file | /mnt/ssd/mysql/s.log |
+------------------+------------------------+
Après que les exécuter
mysqladmin flush-logs -u root -p
Lorsque vous en aurez besoin pour arrêter les journaux - exécuter
SET GLOBAL general_log = 'OFF';
Pourriez-vous activer le Général Journal De La Requête? Cela devrait vous dire tout ce que vous devez savoir.
Depuis mysql version 5.6.3 (publié le 2011-10-03), il y a une variable appelée
log-raw
qui vous permet d'inclure des requêtes non valides dans le grand journal de requête:https://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_log-raw
Vous devez activer général journal de la requête à l'aide de
general-log
etgeneral-log-file
par exemple:Ce n'est pas si anodin. La meilleure façon de le faire, de se connecter mauvais requêtes dans votre application. Il n'y a aucun moyen intégré.