(Observação :Para mysql-5.6+ isso não funcionará. Existe uma solução que se aplica ao mysql-5.6+ se você rolar para baixo ou clique aqui .)
Se você não quiser ou não puder reiniciar o servidor MySQL, você pode proceder assim em seu servidor em execução:
- Crie suas tabelas de log no
mysql
banco de dados
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'
- Ative o registro de consultas no banco de dados
SET global general_log = 1;
SET global log_output = 'table';
- Visualizar o registro
select * from mysql.general_log
- Desabilitar o registro de consultas no banco de dados
SET global general_log = 0;