mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
MDEV-11628 mysql.slow_log reports incorrect start time
use thd->start_time for the "start_time" column of the slow_log table. "current_time" here refers to the current_time() function return value not to the actual *current* time. also fixes MDEV-33267 User with minimal permissions can intentionally corrupt mysql.slow_log table
This commit is contained in:
@ -1033,6 +1033,24 @@ use test;
|
||||
flush tables with read lock;
|
||||
unlock tables;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-33267 User with minimal permissions can intentionally corrupt mysql.slow_log table
|
||||
--echo #
|
||||
truncate mysql.slow_log;
|
||||
set global log_output= 'TABLE';
|
||||
create user u@localhost;
|
||||
set slow_query_log=on, long_query_time=0.1;
|
||||
select 'before evil-doing', sleep(0.2);
|
||||
--connect (con1,localhost,u,,)
|
||||
set @@timestamp= 2147483647;
|
||||
set slow_query_log=on, long_query_time=0.1;
|
||||
select 'evil-doing', sleep(1.1);
|
||||
--disconnect con1
|
||||
--connection default
|
||||
select 'after evil-doing', sleep(0.2);
|
||||
select distinct sql_text from mysql.slow_log where sql_text like '%evil%';
|
||||
set global log_output=default;
|
||||
drop user u@localhost;
|
||||
|
||||
SET @@global.log_output= @old_log_output;
|
||||
SET @@global.slow_query_log= @old_slow_query_log;
|
||||
|
Reference in New Issue
Block a user