257 lines
10 KiB
Plaintext
257 lines
10 KiB
Plaintext
CALL mtr.add_suppression("Plugin mysqlx reported: 'All I/O interfaces are disabled");
|
|
drop table if exists test.marker;
|
|
create table test.marker(before_marker timestamp, after_marker timestamp);
|
|
# Test explicitly set options using defaults-file
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_SOURCE = 'EXPLICIT' AND
|
|
VARIABLE_NAME LIKE 'performance%'
|
|
order by VARIABLE_NAME;
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME SET_USER SET_HOST
|
|
performance_schema EXPLICIT NULL NULL NULL
|
|
performance_schema_accounts_size EXPLICIT NULL NULL NULL
|
|
performance_schema_digests_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_stages_history_long_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_stages_history_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_statements_history_long_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_statements_history_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_transactions_history_long_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_transactions_history_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_waits_history_long_size EXPLICIT NULL NULL NULL
|
|
performance_schema_events_waits_history_size EXPLICIT NULL NULL NULL
|
|
performance_schema_hosts_size EXPLICIT NULL NULL NULL
|
|
performance_schema_session_connect_attrs_size EXPLICIT NULL NULL NULL
|
|
performance_schema_setup_actors_size EXPLICIT NULL NULL NULL
|
|
performance_schema_setup_objects_size EXPLICIT NULL NULL NULL
|
|
performance_schema_users_size EXPLICIT NULL NULL NULL
|
|
# Test command line options
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_SOURCE = 'COMMAND_LINE' AND
|
|
(VARIABLE_NAME = 'max_connections' OR
|
|
VARIABLE_NAME = 'skip_networking')
|
|
order by VARIABLE_NAME;
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME SET_USER SET_HOST
|
|
# Restart server with command line option
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_SOURCE = 'COMMAND_LINE' AND
|
|
(VARIABLE_NAME = 'max_connections' OR
|
|
VARIABLE_NAME = 'skip_networking')
|
|
order by VARIABLE_NAME;
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_USER SET_HOST
|
|
max_connections COMMAND_LINE NULL NULL
|
|
skip_networking COMMAND_LINE NULL NULL
|
|
# Test persisted variables
|
|
SET PERSIST sort_buffer_size=256000;
|
|
SET PERSIST max_heap_table_size=999424, slave_net_timeout=124;
|
|
SET PERSIST innodb_default_row_format=COMPACT;
|
|
SET @@persist.max_execution_time=44000, @@persist.max_user_connections=30;
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_SOURCE = 'PERSISTED'
|
|
order by VARIABLE_NAME;
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME SET_USER SET_HOST
|
|
# Restart server with some persisted variables
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_SOURCE = 'PERSISTED'
|
|
order by VARIABLE_NAME;
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_USER SET_HOST
|
|
innodb_default_row_format PERSISTED root localhost
|
|
max_execution_time PERSISTED root localhost
|
|
max_heap_table_size PERSISTED root localhost
|
|
max_user_connections PERSISTED root localhost
|
|
slave_net_timeout PERSISTED root localhost
|
|
sort_buffer_size PERSISTED root localhost
|
|
# Change persisted variables to dynamic
|
|
SELECT now() into @before_timestamp;
|
|
Sleep 1 second
|
|
SET GLOBAL sort_buffer_size=256000;
|
|
SET GLOBAL max_heap_table_size=999424, slave_net_timeout=124;
|
|
SET @@global.max_execution_time=440000, @@global.max_user_connections=30;
|
|
SET GLOBAL innodb_default_row_format=DEFAULT;
|
|
Sleep 1 second
|
|
SELECT now() into @after_timestamp;
|
|
truncate table test.marker;
|
|
insert into test.marker values (@before_timestamp, @after_timestamp);
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_SOURCE = 'PERSISTED'
|
|
order by VARIABLE_NAME;
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME SET_USER SET_HOST
|
|
select VARIABLE_NAME, VARIABLE_SOURCE,
|
|
if (SET_TIME >= @before_timestamp, "pass", "fail") as SET_TIME_BEFORE_CHECK,
|
|
if (SET_TIME <= @after_timestamp, "pass", "fail") as SET_TIME_AFTER_CHECK,
|
|
SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME in
|
|
('sort_buffer_size',
|
|
'max_heap_table_size',
|
|
'slave_net_timeout',
|
|
'max_execution_time',
|
|
'max_user_connections',
|
|
'innodb_default_row_format')
|
|
order by VARIABLE_NAME;
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME_BEFORE_CHECK SET_TIME_AFTER_CHECK SET_USER SET_HOST
|
|
innodb_default_row_format DYNAMIC pass pass root localhost
|
|
max_execution_time DYNAMIC pass pass root localhost
|
|
max_heap_table_size DYNAMIC pass pass root localhost
|
|
max_user_connections DYNAMIC pass pass root localhost
|
|
slave_net_timeout DYNAMIC pass pass root localhost
|
|
sort_buffer_size DYNAMIC pass pass root localhost
|
|
# Restart server
|
|
select VARIABLE_NAME, VARIABLE_SOURCE
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'innodb_fast_shutdown' OR
|
|
VARIABLE_NAME = 'innodb_file_per_table';
|
|
VARIABLE_NAME VARIABLE_SOURCE
|
|
innodb_fast_shutdown COMPILED
|
|
innodb_file_per_table COMPILED
|
|
# Restart server
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'innodb_fast_shutdown' OR
|
|
VARIABLE_NAME = 'innodb_file_per_table';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME SET_USER SET_HOST
|
|
innodb_fast_shutdown COMMAND_LINE NULL NULL NULL
|
|
innodb_file_per_table COMMAND_LINE NULL NULL NULL
|
|
# Restart server
|
|
#
|
|
# WL#9720: SET PERSIST capture user + timestamp
|
|
#
|
|
CREATE USER WL9720@localhost;
|
|
GRANT ALL ON *.* to WL9720@localhost;
|
|
SELECT now() into @before_timestamp;
|
|
Sleep 1 second
|
|
SET SESSION max_heap_table_size=999424;
|
|
Sleep 1 second
|
|
SELECT now() into @after_timestamp;
|
|
truncate table test.marker;
|
|
insert into test.marker values (@before_timestamp, @after_timestamp);
|
|
# user must be WL9720
|
|
select VARIABLE_NAME, VARIABLE_SOURCE,
|
|
if (SET_TIME >= @before_timestamp, "pass", "fail") as SET_TIME_BEFORE_CHECK,
|
|
if (SET_TIME <= @after_timestamp, "pass", "fail") as SET_TIME_AFTER_CHECK,
|
|
SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'max_heap_table_size';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME_BEFORE_CHECK SET_TIME_AFTER_CHECK SET_USER SET_HOST
|
|
max_heap_table_size DYNAMIC pass pass WL9720 localhost
|
|
select before_marker, after_marker into @before_timestamp, @after_timestamp
|
|
from test.marker;
|
|
# user must be root
|
|
select VARIABLE_NAME, VARIABLE_SOURCE,
|
|
if (SET_TIME >= @before_timestamp, "pass", "fail") as SET_TIME_BEFORE_CHECK,
|
|
if (SET_TIME <= @after_timestamp, "pass", "fail") as SET_TIME_AFTER_CHECK,
|
|
SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'max_heap_table_size';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME_BEFORE_CHECK SET_TIME_AFTER_CHECK SET_USER SET_HOST
|
|
max_heap_table_size DYNAMIC pass pass WL9720 localhost
|
|
# user must be root
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'session_track_system_variables';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME SET_USER SET_HOST
|
|
session_track_system_variables COMPILED NULL NULL NULL
|
|
SELECT now() into @before_timestamp;
|
|
Sleep 1 second
|
|
SET GLOBAL session_track_system_variables=DEFAULT;
|
|
Sleep 1 second
|
|
SELECT now() into @after_timestamp;
|
|
truncate table test.marker;
|
|
insert into test.marker values (@before_timestamp, @after_timestamp);
|
|
# user must be WL9720
|
|
select VARIABLE_NAME, VARIABLE_SOURCE,
|
|
if (SET_TIME >= @before_timestamp, "pass", "fail") as SET_TIME_BEFORE_CHECK,
|
|
if (SET_TIME <= @after_timestamp, "pass", "fail") as SET_TIME_AFTER_CHECK,
|
|
SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'session_track_system_variables';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME_BEFORE_CHECK SET_TIME_AFTER_CHECK SET_USER SET_HOST
|
|
session_track_system_variables DYNAMIC pass pass WL9720 localhost
|
|
select before_marker, after_marker into @before_timestamp, @after_timestamp
|
|
from test.marker;
|
|
# user must be WL9720 since variable was changed globally by wl9720 user
|
|
select VARIABLE_NAME, VARIABLE_SOURCE,
|
|
if (SET_TIME >= @before_timestamp, "pass", "fail") as SET_TIME_BEFORE_CHECK,
|
|
if (SET_TIME <= @after_timestamp, "pass", "fail") as SET_TIME_AFTER_CHECK,
|
|
SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'session_track_system_variables';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME_BEFORE_CHECK SET_TIME_AFTER_CHECK SET_USER SET_HOST
|
|
session_track_system_variables DYNAMIC pass pass WL9720 localhost
|
|
# Restart server
|
|
# user must be root
|
|
select VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME, SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'session_track_system_variables';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME SET_USER SET_HOST
|
|
session_track_system_variables COMPILED NULL NULL NULL
|
|
DROP USER WL9720@localhost;
|
|
# check timestamp column values
|
|
select SET_TIME
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'sql_auto_is_null';
|
|
SET_TIME
|
|
NULL
|
|
Sleep 1 second
|
|
SET SESSION sql_auto_is_null= 1;
|
|
select SET_TIME is not null as CHECK_TIME
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'sql_auto_is_null';
|
|
CHECK_TIME
|
|
1
|
|
select SET_TIME
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'sort_buffer_size';
|
|
SET_TIME
|
|
NULL
|
|
Sleep 1 second
|
|
SET GLOBAL sort_buffer_size= 256000;
|
|
select SET_TIME is not null as CHECK_TIME
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'sort_buffer_size';
|
|
CHECK_TIME
|
|
1
|
|
select SET_TIME is not null as CHECK_TIME
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'foreign_key_checks';
|
|
CHECK_TIME
|
|
1
|
|
SELECT now() into @before_timestamp;
|
|
Sleep 1 second
|
|
SET PERSIST foreign_key_checks = 0;
|
|
Sleep 1 second
|
|
SELECT now() into @after_timestamp;
|
|
select VARIABLE_NAME, VARIABLE_SOURCE,
|
|
if (SET_TIME >= @before_timestamp, "pass", "fail") as SET_TIME_BEFORE_CHECK,
|
|
if (SET_TIME <= @after_timestamp, "pass", "fail") as SET_TIME_AFTER_CHECK,
|
|
SET_USER, SET_HOST
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'foreign_key_checks';
|
|
VARIABLE_NAME VARIABLE_SOURCE SET_TIME_BEFORE_CHECK SET_TIME_AFTER_CHECK SET_USER SET_HOST
|
|
foreign_key_checks DYNAMIC pass pass root localhost
|
|
select SET_TIME
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'sql_log_bin';
|
|
SET_TIME
|
|
NULL
|
|
Sleep 1 second
|
|
# since SET statement fails there should be no change in timestamp
|
|
SET @@persist.sql_log_bin=0;
|
|
ERROR HY000: Variable 'sql_log_bin' is a SESSION variable and can't be used with SET GLOBAL
|
|
select SET_TIME
|
|
from performance_schema.variables_info
|
|
where VARIABLE_NAME = 'sql_log_bin';
|
|
SET_TIME
|
|
NULL
|
|
SET GLOBAL sort_buffer_size= DEFAULT;
|
|
SET PERSIST foreign_key_checks = DEFAULT;
|
|
RESET PERSIST;
|
|
drop table test.marker;
|
|
SELECT 'END OF TEST';
|
|
END OF TEST
|
|
END OF TEST
|