Est il possible pour moi de tourner sur audit logging sur ma base de données mysql ?
Je tiens essentiellement à surveiller toutes les requêtes pour une heure et vider le journal dans un fichier.
Est il possible pour moi de tourner sur audit logging sur ma base de données mysql ?
Je tiens essentiellement à surveiller toutes les requêtes pour une heure et vider le journal dans un fichier.
Si vous ne voulez pas ou ne pouvez pas redémarrer le serveur MySQL, vous pouvez procéder comme ceci sur votre serveur en cours d'exécution:
CREATE TABLE `slow_log` (
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
`db` varchar(512) NOT NULL,
`last_insert_id` int(11) NOT NULL,
`insert_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
SET global general_log = 1;
SET global log_output = 'table';
select * from mysql.general_log
SET global general_log = 0;
Démarrer mysql avec l'option --log:
mysqld --log=log_file_name
ou placer celui-ci dans votre mon.cnf de fichier:
log = log_file_name
Soit on va enregistrer toutes les requêtes de log_file_name.
Vous pouvez également vous connecter uniquement les requêtes lentes à l'aide de l' --log-slow-queries
option au lieu d' --log
. Par défaut, les requêtes qui prennent 10 secondes ou plus sont considérés comme lents, vous pouvez modifier ce paramètre long_query_time
le nombre de secondes pendant lequel une requête doit prendre à exécuter avant d'être connecté.
Pour l'enregistrement, general_log et slow_log ont été introduites dans 5.1.6:
http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html
5.2.1. La sélection de l'interrogation Générale et Slow Query Log Destinations de Sortie
MySQL 5.1.6, MySQL Server fournit un contrôle flexible de la destination de sortie pour le grand journal de la requête et la requête lente journal, si ces journaux sont activés. Les destinations possibles pour les entrées de journal sont les fichiers journaux ou le general_log et slow_log tables dans la base de données mysql base de données
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.