TRUNCATE TABLE mysql.slow_log; SET @old_master_info_repository = @@GLOBAL.master_info_repository; SET @old_relay_log_info_repository = @@GLOBAL.relay_log_info_repository; SET @old_log_output= @@global.log_output; SET @old_slow_query_log= @@global.slow_query_log; SET @old_slow_query_log_file= @@global.slow_query_log_file; SET @old_long_query_time= @@global.long_query_time; SET GLOBAL slow_query_log_file= '.../log/rewrite_slow.log'; SET GLOBAL log_output = 'FILE,TABLE'; SET GLOBAL slow_query_log= 'ON'; SET SESSION long_query_time= 0; CREATE USER test_user2 IDENTIFIED BY 'azundris2'; SET SESSION long_query_time = 0; ALTER USER test_user2 IDENTIFIED BY 'azundris2' REPLACE 'azundris2'; SET PASSWORD='azundris2' REPLACE 'azundris2'; SET PASSWORD FOR test_user2='azundris2' REPLACE 'azundris2'; SET GLOBAL master_info_repository = 'TABLE'; SET GLOBAL relay_log_info_repository = 'TABLE'; CHANGE MASTER TO MASTER_PASSWORD='azundris3', MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, MASTER_LOG_FILE = 'master_log_name', MASTER_LOG_POS = 0, MASTER_SSL = 0, MASTER_SSL_CA = 'ca_file_name', MASTER_SSL_CAPATH = 'ca_directory_name', MASTER_SSL_CERT = 'cert_file_name', MASTER_SSL_KEY = 'key_file_name', MASTER_SSL_CIPHER = 'cipher_list', MASTER_SSL_VERIFY_SERVER_CERT = 1, MASTER_SSL_CRL = 'crl_file_name', MASTER_SSL_CRLPATH = 'crl_directory_name', IGNORE_SERVER_IDS = (99,100), MASTER_TLS_VERSION = 'TLSv1.2', MASTER_BIND = 'eth4n', MASTER_RETRY_COUNT = 7, MASTER_DELAY = 4711, MASTER_AUTO_POSITION = 0 FOR CHANNEL 'chan_jackie'; RESET SLAVE ALL; SET GLOBAL master_info_repository = DEFAULT; SET GLOBAL relay_log_info_repository = DEFAULT; CREATE USER 'test_user4'@'localhost'; SET PASSWORD FOR 'test_user4'@'localhost' = 'azundris4'; SET SESSION long_query_time= @old_long_query_time; SET GLOBAL slow_query_log='OFF'; DROP USER 'test_user4'@'localhost'; DROP USER test_user2; CREATE TABLE test_log (sql_text TEXT); LOAD DATA LOCAL INFILE '.../log/rewrite_slow.log' INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; This line should be followed by two SELECTs with empty result sets SELECT sql_text FROM test_log WHERE sql_text LIKE CONCAT('%azun','dris%'); sql_text SELECT sql_text FROM mysql.slow_log WHERE sql_text LIKE CONCAT('%azun','dris%'); sql_text SELECT count(*)=1 OR count(*)=2 FROM mysql.slow_log WHERE sql_text LIKE '%REPLACE%'; count(*)=1 OR count(*)=2 0 ------ from file ------ SELECT count(*)=1 OR count(*)=2 FROM test_log WHERE sql_text LIKE 'CREATE USER %' AND sql_text LIKE '%%'; count(*)=1 OR count(*)=2 1 SELECT sql_text FROM test_log WHERE sql_text LIKE 'CHANGE MASTER TO MASTER_BIND %'; sql_text CHANGE MASTER TO MASTER_BIND = 'eth4n', MASTER_PASSWORD = , MASTER_CONNECT_RETRY = 1, MASTER_RETRY_COUNT = 7, MASTER_DELAY = 4711, MASTER_HEARTBEAT_PERIOD = 1.010000, MASTER_LOG_FILE = 'master_log_name', MASTER_LOG_POS = 4, MASTER_AUTO_POSITION = 0, MASTER_SSL = 0, MASTER_SSL_CA = 'ca_file_name', MASTER_SSL_CAPATH = 'ca_directory_name', MASTER_SSL_CERT = 'cert_file_name', MASTER_SSL_CRL = 'crl_file_name', MASTER_SSL_CRLPATH = 'crl_directory_name', MASTER_SSL_KEY = 'key_file_name', MASTER_SSL_CIPHER = 'cipher_list', MASTER_SSL_VERIFY_SERVER_CERT = 1, MASTER_TLS_VERSION = 'TLSv1.2', IGNORE_SERVER_IDS = ( 99, 100 ) FOR CHANNEL 'chan_jackie'; SELECT count(*) FROM test_log WHERE sql_text LIKE 'SET PASSWORD %' AND sql_text LIKE '%%'; count(*) 3 ------ from table ------ SELECT count(*)=1 OR count(*)=2 FROM mysql.slow_log WHERE sql_text LIKE 'CREATE USER %' AND sql_text LIKE '%%'; count(*)=1 OR count(*)=2 1 SELECT sql_text FROM test_log WHERE sql_text LIKE 'CHANGE MASTER TO MASTER_BIND %'; sql_text CHANGE MASTER TO MASTER_BIND = 'eth4n', MASTER_PASSWORD = , MASTER_CONNECT_RETRY = 1, MASTER_RETRY_COUNT = 7, MASTER_DELAY = 4711, MASTER_HEARTBEAT_PERIOD = 1.010000, MASTER_LOG_FILE = 'master_log_name', MASTER_LOG_POS = 4, MASTER_AUTO_POSITION = 0, MASTER_SSL = 0, MASTER_SSL_CA = 'ca_file_name', MASTER_SSL_CAPATH = 'ca_directory_name', MASTER_SSL_CERT = 'cert_file_name', MASTER_SSL_CRL = 'crl_file_name', MASTER_SSL_CRLPATH = 'crl_directory_name', MASTER_SSL_KEY = 'key_file_name', MASTER_SSL_CIPHER = 'cipher_list', MASTER_SSL_VERIFY_SERVER_CERT = 1, MASTER_TLS_VERSION = 'TLSv1.2', IGNORE_SERVER_IDS = ( 99, 100 ) FOR CHANNEL 'chan_jackie'; SELECT count(*) FROM test_log WHERE sql_text LIKE 'SET PASSWORD %' AND sql_text LIKE '%%'; count(*) 3 ------ done ------ DROP TABLE test_log; End of 5.6 tests! # # Bug#16467055: GRANT STATEMENTS LOGGED TWICE IN SLOW QUERY LOG # SET SESSION long_query_time= 0; SET GLOBAL slow_query_log = 1; SET GLOBAL log_output = 'TABLE'; TRUNCATE mysql.slow_log; DROP USER u16467055; End of 5.7 tests! SET SESSION long_query_time= @old_long_query_time; SET GLOBAL slow_query_log_file=@old_slow_query_log_file; SET GLOBAL slow_query_log= @old_slow_query_log; SET GLOBAL log_output= @old_log_output; SET GLOBAL master_info_repository= @old_master_info_repository; SET GLOBAL relay_log_info_repository= @old_relay_log_info_repository;