1
0
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:
Sergei Golubchik
2024-01-21 23:28:54 +01:00
parent db9fad1562
commit dcb814c44e
3 changed files with 47 additions and 1 deletions

View File

@ -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;