use mysql; truncate table general_log; select * from general_log; event_time user_host thread_id server_id command_type argument TIMESTAMP USER_HOST THREAD_ID 1 Query select * from general_log truncate table slow_log; select * from slow_log; start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text truncate table general_log; select * from general_log where argument like '%general_log%'; event_time user_host thread_id server_id command_type argument TIMESTAMP USER_HOST THREAD_ID 1 Query select * from general_log where argument like '%general_log%' create table join_test (verbose_comment varchar (80), command_type varchar(64)); insert into join_test values ("User performed a usual SQL query", "Query"); insert into join_test values ("New DB connection was registered", "Connect"); insert into join_test values ("Get the table info", "Field List"); select verbose_comment, user_host, argument from mysql.general_log join join_test on (mysql.general_log.command_type = join_test.command_type); verbose_comment user_host argument User performed a usual SQL query USER_HOST select * from general_log where argument like '%general_log%' User performed a usual SQL query USER_HOST create table join_test (verbose_comment varchar (80), command_type varchar(64)) User performed a usual SQL query USER_HOST insert into join_test values ("User performed a usual SQL query", "Query") User performed a usual SQL query USER_HOST insert into join_test values ("New DB connection was registered", "Connect") User performed a usual SQL query USER_HOST insert into join_test values ("Get the table info", "Field List") User performed a usual SQL query USER_HOST select verbose_comment, user_host, argument from mysql.general_log join join_test on (mysql.general_log.command_type = join_test.command_type) drop table join_test; flush logs; lock tables mysql.general_log WRITE; ERROR HY000: You can't write-lock a log table. Only read access is possible lock tables mysql.slow_log WRITE; ERROR HY000: You can't write-lock a log table. Only read access is possible lock tables mysql.general_log READ; ERROR HY000: You can't use usual read lock with log tables. Try READ LOCAL instead lock tables mysql.slow_log READ; ERROR HY000: You can't use usual read lock with log tables. Try READ LOCAL instead lock tables mysql.slow_log READ LOCAL, mysql.general_log READ LOCAL; unlock tables; lock tables mysql.general_log READ LOCAL; flush logs; unlock tables; select "Mark that we woke up from flush logs in the test" as "test passed"; test passed Mark that we woke up from flush logs in the test lock tables mysql.general_log READ LOCAL; truncate mysql.general_log; unlock tables; select "Mark that we woke up from TRUNCATE in the test" as "test passed"; test passed Mark that we woke up from TRUNCATE in the test use test; truncate table mysql.general_log; set names utf8; create table bug16905 (s char(15) character set utf8 default 'пусто'); insert into bug16905 values ('новое'); select * from mysql.general_log; event_time user_host thread_id server_id command_type argument TIMESTAMP USER_HOST THREAD_ID 1 Query set names utf8 TIMESTAMP USER_HOST THREAD_ID 1 Query create table bug16905 (s char(15) character set utf8 default 'пусто') TIMESTAMP USER_HOST THREAD_ID 1 Query insert into bug16905 values ('новое') TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.general_log drop table bug16905; truncate table mysql.slow_log; set session long_query_time=1; select sleep(2); sleep(2) 0 select * from mysql.slow_log; start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text TIMESTAMP USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 select sleep(2) alter table mysql.general_log engine=myisam; ERROR HY000: You can't alter a log table if logging is enabled alter table mysql.slow_log engine=myisam; ERROR HY000: You can't alter a log table if logging is enabled drop table mysql.general_log; ERROR HY000: Cannot drop log table if log is enabled drop table mysql.slow_log; ERROR HY000: Cannot drop log table if log is enabled set global general_log='OFF'; alter table mysql.slow_log engine=myisam; ERROR HY000: You can't alter a log table if logging is enabled set global slow_query_log='OFF'; show create table mysql.general_log; Table Create Table general_log CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext, `thread_id` int(11) DEFAULT NULL, `server_id` int(11) DEFAULT NULL, `command_type` varchar(64) DEFAULT NULL, `argument` mediumtext ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log' show create table mysql.slow_log; Table Create Table slow_log 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) DEFAULT NULL, `last_insert_id` int(11) DEFAULT NULL, `insert_id` int(11) DEFAULT NULL, `server_id` int(11) DEFAULT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log' alter table mysql.general_log engine=myisam; alter table mysql.slow_log engine=myisam; Warnings: Warning 1264 Out of range value for column 'last_insert_id' at row 0 Warning 1264 Out of range value for column 'insert_id' at row 0 show create table mysql.general_log; Table Create Table general_log CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext, `thread_id` int(11) DEFAULT NULL, `server_id` int(11) DEFAULT NULL, `command_type` varchar(64) DEFAULT NULL, `argument` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='General log' show create table mysql.slow_log; Table Create Table slow_log 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) DEFAULT NULL, `last_insert_id` int(11) DEFAULT NULL, `insert_id` int(11) DEFAULT NULL, `server_id` int(11) DEFAULT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Slow log' set global general_log='ON'; set global slow_query_log='ON'; select * from mysql.general_log; event_time user_host thread_id server_id command_type argument TIMESTAMP USER_HOST THREAD_ID 1 Query set names utf8 TIMESTAMP USER_HOST THREAD_ID 1 Query create table bug16905 (s char(15) character set utf8 default 'пусто') TIMESTAMP USER_HOST THREAD_ID 1 Query insert into bug16905 values ('новое') TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.general_log TIMESTAMP USER_HOST THREAD_ID 1 Query drop table bug16905 TIMESTAMP USER_HOST THREAD_ID 1 Query truncate table mysql.slow_log TIMESTAMP USER_HOST THREAD_ID 1 Query set session long_query_time=1 TIMESTAMP USER_HOST THREAD_ID 1 Query select sleep(2) TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.slow_log TIMESTAMP USER_HOST THREAD_ID 1 Query alter table mysql.general_log engine=myisam TIMESTAMP USER_HOST THREAD_ID 1 Query alter table mysql.slow_log engine=myisam TIMESTAMP USER_HOST THREAD_ID 1 Query drop table mysql.general_log TIMESTAMP USER_HOST THREAD_ID 1 Query drop table mysql.slow_log TIMESTAMP USER_HOST THREAD_ID 1 Query set global general_log='OFF' TIMESTAMP USER_HOST THREAD_ID 1 Query set global slow_query_log='ON' TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.general_log flush logs; lock tables mysql.general_log WRITE; ERROR HY000: You can't write-lock a log table. Only read access is possible lock tables mysql.slow_log WRITE; ERROR HY000: You can't write-lock a log table. Only read access is possible lock tables mysql.general_log READ; ERROR HY000: You can't use usual read lock with log tables. Try READ LOCAL instead lock tables mysql.slow_log READ; ERROR HY000: You can't use usual read lock with log tables. Try READ LOCAL instead lock tables mysql.slow_log READ LOCAL, mysql.general_log READ LOCAL; unlock tables; set global general_log='OFF'; set global slow_query_log='OFF'; alter table mysql.slow_log engine=ndb; ERROR HY000: One can use only CSV and MyISAM engines for the log tables alter table mysql.slow_log engine=innodb; ERROR HY000: One can use only CSV and MyISAM engines for the log tables alter table mysql.slow_log engine=archive; ERROR HY000: One can use only CSV and MyISAM engines for the log tables alter table mysql.slow_log engine=blackhole; ERROR HY000: One can use only CSV and MyISAM engines for the log tables drop table mysql.slow_log; drop table mysql.general_log; drop table mysql.general_log; ERROR 42S02: Unknown table 'general_log' drop table mysql.slow_log; ERROR 42S02: Unknown table 'slow_log' use mysql; CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext, `thread_id` int(11) DEFAULT NULL, `server_id` int(11) DEFAULT NULL, `command_type` varchar(64) DEFAULT NULL, `argument` mediumtext ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'; 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) DEFAULT NULL, `last_insert_id` int(11) DEFAULT NULL, `insert_id` int(11) DEFAULT NULL, `server_id` int(11) DEFAULT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'; set global general_log='ON'; set global slow_query_log='ON'; use test; flush tables with read lock; unlock tables; use mysql; lock tables general_log read local, help_category read local; unlock tables;