1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
# Setting general_log to initial state empty
TRUNCATE TABLE mysql.general_log;
SET @old_log_output = @@global.log_output;
SET @old_general_log = @@global.general_log;
SET @old_general_log_file = @@global.general_log_file;
##########################################
# Start plugin with general log
##########################################
SET GLOBAL general_log_file = '.../log/test_session_general.log';
SET GLOBAL log_output = 'FILE,TABLE';
SET GLOBAL general_log = 'ON';
##########################################
# Run plugin
##########################################
INSTALL PLUGIN test_session_in_thd SONAME 'TEST_SESSION_IN_THD';
SELECT plugin_name FROM information_schema.plugins WHERE plugin_name LIKE 'test_session_in_thd';
plugin_name
test_session_in_thd
##########################################
# Stop plugin
##########################################
UNINSTALL PLUGIN test_session_in_thd;
##########################################
# Plugin log
##########################################
Follows threaded run
============================================================================================
init thread
sql open session 0.
sql open session 1.
sql open session 2.
sql open session 3.
sql open session 4.
sql open session 5.
sql open session 6.
sql open session 7.
sql open session 8.
close following nb of sessions: 9
sql session close session 8.
sql session close session 7.
sql session close session 6.
sql session close session 5.
sql session close session 4.
sql session close session 3.
sql session close session 2.
sql session close session 1.
sql session close session 0.
sql open session 0.
sql open session 1.
sql open session 2.
sql open session 3.
sql open session 4.
sql open session 5.
sql open session 6.
sql open session 7.
sql open session 8.
close following nb of sessions: 9
sql session close session 0.
sql session close session 1.
sql session close session 2.
sql session close session 3.
sql session close session 4.
sql session close session 5.
sql session close session 6.
sql session close session 7.
sql session close session 8.
deinit thread
SET GLOBAL general_log = 'OFF';
##########################################
# Check general log file
##########################################
CREATE TABLE t1 (c1 TEXT, c2 TEXT);
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/log/test_session_general.log' INTO TABLE t1;
SELECT count(*) FROM t1 WHERE c2 LIKE '%Connect%';
count(*)
18
SELECT count(*) FROM t1 WHERE c2 LIKE '%Quit%';
count(*)
18
SELECT count(*) >= 36 FROM mysql.general_log WHERE command_type IN ('Connect','Quit') AND user_host NOT LIKE '%mysql.session%';
count(*) >= 36
1
##########################################
# Cleanup
##########################################
# Dropping the created table
DROP TABLE t1;
# Removing general_log content
TRUNCATE TABLE mysql.general_log;
# Deleting log file created
SET GLOBAL log_output = @old_log_output;
SET GLOBAL general_log = @old_general_log;
SET GLOBAL general_log_file = @old_general_log_file;
|